采用私有IM协议
db(用户、好友等):采用分区分段的方式划分db, 不同的DB分成不同的区,维护不同段的用户.
Cluster: 前面有一个负责分配节点的服务器,用户的请求可以由任何一个逻辑服务器来处理。逻辑服务器之间网状结构。
用户所在节点find方法, 可能是询问所有网内节点,然后在本地cache.
每个逻辑服务器到各个分区的数据库都有连接,逻辑服务器根据用户所在的区,访问相应的数据库,存取用户的数据。
Cache: 自定义的Local cache: UserInfoCacheModule,未使用分布式缓存
容量:目前支持40万并发,作者感觉可以支持到100万
逻辑图
http://hi.baidu.com/jabber/blog/item/23973ed13a70413c9b5027b7.html
原文地址:一个即时通信系统架构实现的讨论