聊天室架构图

聊天室架构图_第1张图片
这个架构比较简单,关键点有如下几个:
1.主流服务只有API和Broker两个服务。
2. API和broker都是无状态服务。
优点:可以在客户端无感知情况下水平扩展。
对于broker服务,如果单点挂掉,那么客户端与服务端端口连接,重连到其他broker上。
缺点:无法使用本地内存缓存,只能使用分布式缓存。
无法保证消息严格有序
对于海量用户的聊天室无法实时统计在线人数,与统计单个用户是否在聊天室。
3. 高可用:
1)通过调度,可动态切换客户端连入不同运营商(移动、联通、电信)、每个运营商不同机房(北京联通、济阳联通)的比例。通过调度,可动态切换客户端连入不同运营商(移动、联通、电信)、每个运营商不同机房(北京联通、济阳联通)的比例。
2)消息广播:redis sub/pub为主,http作为备份。
3)通过推送消息的频率来限流。

你可能感兴趣的:(实战经验)