Skip to content

Latest commit

 

History

History
45 lines (28 loc) · 1.19 KB

63.分布式高阶实战:亿级高并发IM架构.md

File metadata and controls

45 lines (28 loc) · 1.19 KB

63 分布式高阶实战:亿级高并发IM架构

这个章节主要分成6个小部分

  • 亿级连接架构
  • 分布式开发环境搭建
  • Netty节点的命令服务
  • Netty节点的注册与发现
  • Netty节点的负载均衡
  • Netty节点的消息转发

单体IM可以管理上百万的连接,但是也需要很多的资源

查看一下linux下的发送缓冲区和接收缓冲区的大小

cat /proc/sys/net/ipv4/tcp_wmen
4096 16384 4194394

cat /proc/sys/net/ipv4/tcp_rmen
4096 16384 4194394

这三个值分别表示了最小分配值,默认分配值和最大分配值。

简单计算: 按照一个连接 ,接收缓冲区4k + 发送缓冲区4k计算,100W连接需要多少内存呢?

100w * 8k = 8G 大约8G多,当然这仅仅是连接创建所需要的内存资源,没有算上任何业务的开销。

如何去设计一个集群去支撑亿级连接呢?

  • 分布式缓存Redis
  • 分布式协调Zookeeper
  • 分布式Web服务
  • 分布式消息队列服务
  • 结构化数据库集群
  • 离线消息NoSQL集群

大致的设计架构图如下: