默认
打赏 发表评论 39
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
如果login需要进行第三方系统鉴权请求,存在一定的延迟风险,是否应该考虑从 长链接保持服务中拆分出来呢?比如拆分出 login + connector 这样?请教,一般登录跟长链接保持有没有条件拆成2个服务?或者是否属于合理的实践?谢谢
三个月之前~Mark一波
引用:XuFengnian 发表于 2021-06-28 13:58
1 pushProxy为什么要单独做出来呢?直接让调用方写消费者不好吗?
2 pushServer和PushWorker为啥不合并成 ...

一般是可以不拆的,但他的用户量太大了,拆出来显然架构的性能压力就可以更加分散地处理了
1 pushProxy为什么要单独做出来呢?直接让调用方写消费者不好吗?
2 pushServer和PushWorker为啥不合并成一个服务呢
引用:JackJiang 发表于 2021-06-15 15:33
推送服务是可以做到提供给别的服务调用的,比如开放http接口。
判断在线的问题,其实就是你上面纠结的lo ...

哈,再参悟参悟哈,谢谢啦
引用:bingo2021 发表于 2021-06-15 15:03
哈,明白,就怕作者的意图被我理解歪了。
另外那个推送服务,数据输入方是谁啊,业务系统调用推送服务? ...

推送服务是可以做到提供给别的服务调用的,比如开放http接口。
判断在线的问题,其实就是你上面纠结的login+router这个逻辑
引用:JackJiang 发表于 2021-06-15 14:47
就这么说,如果把login->router这两个东西合二为一,不拆分开,你仔细想想是不是就好理解了。
作者之所 ...

哈,明白,就怕作者的意图被我理解歪了。
另外那个推送服务,数据输入方是谁啊,业务系统调用推送服务?
推送服务需要判断用户是否在线,如果在线是不是发给router服务,正常情况下router也要判断用户在哪个login服务,这就进行了2次判断了,是否重复了?
业务系统下发信息,文中说是发给router服务,如果router发现用户不在线,那么router是否有把消息发给推送服务的功能,那此时感觉推送服务又要判断应该怎么推送,也得判断用户在线
请问一下这个推送服务的数据流是怎么样的,对接哪些微服务?
引用:bingo2021 发表于 2021-06-15 14:19
记录这个login+router的通信链路,实际的意义在哪里呢
个人理解是:
上行消息:login->router,这个rou ...

就这么说,如果把login->router这两个东西合二为一,不拆分开,你仔细想想是不是就好理解了。
作者之所以分开,就是因为它的量太大了,如果没这么大量的话不拆开就清晰多了
引用:JackJiang 发表于 2021-06-14 20:26
login服务器主要负责接入层,router服务器负责消息的收发路由,login+router服务信息,聊天消息就可以准 ...

记录这个login+router的通信链路,实际的意义在哪里呢
个人理解是:
上行消息:login->router,这个router是需要通信链路保存的那个吗,不需要吧,对于集群多个router节点来说,应该任何一个都可以处理吧;
下行消息: 业务系统->router->login,对于集群多个router节点,业务系统是随机找一个router节点发送的,那此时保存的login+router通信链路好像也没意义了。这个时候应该是router收到消息、查找online服务获取消息应该发送到哪个login服务即可吧。

理解可能有点偏了,希望指点一下,谢谢
引用:bingo2021 发表于 2021-06-14 14:56
看了好多遍,有一个问题指教一下,哈
7.3节
此过程主要记录的信息包含:

login服务器主要负责接入层,router服务器负责消息的收发路由,login+router服务信息,聊天消息就可以准确定位到这个用户的通信链路
看了好多遍,有一个问题指教一下,哈
7.3节
此过程主要记录的信息包含:
1)uid(用户id);
2)Login服务器IP/Port;
3)Route服务器的IP/Port。
这是将uid和login服务关联信息保存到online服务吧?那这个router服务器的信息保存起来有什么作用,而且用户请求登录验证的时候,也不知道router服务器信息吧
引用:zhyf888 发表于 2021-03-23 22:02
真是亿级?

哈哈哈
真是亿级?
感觉搞IM,直播类的都是这套架构
引用:zhxh007 发表于 2021-03-16 12:09
有个问题需要咨询一下,比如连接层服务发布,或者连接层机器宕机,连接层突然断开,那么怎么向online服务同 ...

连接服务断开了,客户端一般都会重连其他连接服,
存在同时连接服崩了,客户端杀进程了,这种概率太小了。也不用考虑吧
有个问题需要咨询一下,比如连接层服务发布,或者连接层机器宕机,连接层突然断开,那么怎么向online服务同步客户端的状态信息,因为一重启,客户端连接全断了,后续有些用户不一定重登陆,导致这些用户在的redis里的状态一直是在线的,虽然不影响体验,但是总感觉不好,一种办法是,在维护在线状态的redis里用个过期key,通过客户端心跳延长过期时间,但是这样量太大的时候,对后端服务压力也比较大,有好的解决办法么?
引用:登至必极 发表于 2021-03-15 21:51
卧槽,这效率太高了吧

那必须的。。
卧槽,这效率太高了吧
引用:登至必极 发表于 2021-03-15 21:30
第一张技术指标的图有问题,四个特性有两个实时性

画错了,马上改
第一张技术指标的图有问题,四个特性有两个实时性
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部