netty聊天架构

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


里面注意的几个点:

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


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


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


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

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


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


6.补充一个心跳的

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

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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值