netty聊天架构

来源:互联网 发布:秦淮数据有限公司 编辑:程序博客网 时间:2024/05/26 08:42

前面三台聊天服务器,其实是按照机房分的,移动一个,联通一个,电信一个,也是用来负载均衡


里面注意的几个点:

1.三台服务器【chatServer】内部自己分发消息,也就是把一条消息发送到服务器内的所有用户


2.三台服务器【chatServer】中有类似主从的分布,也就是其中只有一台为主,把消息写到存消息的redis中,如果主掉线则自动转到下一台


3.三台服务器【chatServer】都把自己得到的消息发送到消息中心服务器【msgServer】,然后【msgServer】再把消息发送到其余两台【chatServer】


基于以上三点聊天的业务逻辑,基本就实现了

4.把聊天消息存在了一个总的redis中


5.同时还为了记录掉线,用了一个redis来存掉线的用户,这样是为了这个用户再次进来以后,可以从消息的总redis中拉去消息来推送


6.补充一个心跳的

客户端定期(如每两分钟)发一个请求到服务器,来更新在线信息,

服务器也是定时任务,每2分钟就发起检查,去轮询内存中的在线用户列表,这样来踢出不在线用户


0 0
原创粉丝点击