You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.3 KiB

TODO

  • router -> entry 负载均衡
  • router 新增节点顺时针相邻节点数据一致性哈希迁移
  • router 冗余节点存储数据不提供服务
  • dubbo 服务异步处理吞吐量
  • das 消息队列异步写
  • 功能开发:
    • 消息群发
    • 好友列表(在线状态:批量uid一致性hash, router查询)
    • 聊天记录查询
  • 集群部署, docker swarm, k8s, jenkens
  • 服务监控

模块列表

  • 接入层 entry
  • 逻辑层 logic
  • 内存存储层 router
  • 固化存储层 das

功能组件: 1.0

  • IOC: guice

  • 通信层: netty

  • 序列化: protobuf

  • 内存存储:

    • Caffeine
    • Memcache
  • 分布式缓存:redis

  • 注册中心:etcd、直连

  • 处理队列:disruptor

  • 持久化:

    • mysql 存储全量历史消息
    • mongodb 存储直接拉取的未读消息
  • 日志:log4j2

  • 监控:prometheus、grafana

  • ID生成器

2.0

  • quarkus

集群负载均衡: 子网1,子网2,公网 子网1和2不相通

dubbo native image https://dubbo.apache.org/zh/docs/references/graalvm/support-graalvm/

entry <--> client 通信

  • serviceId --> paramClass --> serviceHandler

entry <--> logic dubbo service client jconsle cmd

router <--> cache das <--> db router <--> das

das shardingjdbc table struct, sharding roles logic biz

请求响应消息队列异步处理,减少线程 cpu 占用, dubbo async