引用:crazyerror 发表于 2022-06-24 07:15 消息应该会存储到数据库吧,用户会连接到别的server,上线了不是重新拉取消息吗,redis只是用于在线推送,这相当于离线消息呗,怎么会一直不能分发呢 |
引用:zyxelva 发表于 2022-10-28 21:19 嗯嗯 |
引用:JackJiang 发表于 2022-05-13 16:41 我想到的是: 1.分布式缓存,存储了(userID,NettyServer); 2.若接收人对应的NettyServer不在此Server, 2.1.一种方式是http调用NettyServer转发消息接口; 2.2. 一种是封装目标netty server的ip,port为RPC. |
引用:crazyerror 发表于 2022-06-24 07:15 按照这种架构,是有可能的。。。 其实这些所谓的集群,绝大多数都是假集群,用来学习参考一下可以,真的要直接用,几乎是不可能的 |
你好请教一下入伙某个节点挂掉之后,是否也就不能消费redis中的队列消息,导致这个消息一直不能分发下去呢? |
引用:feilueze 发表于 2022-05-13 14:38 你说到点子上了,当用户量真的很大的时候,这确实会成为单点,所以类似这种架构是没法做到无限扩容集群的。 其实市面上你看到的声称支持集群的多数都是这样实现的。。。但搞技术的看到集群两个字就像打了鸡血一样,管它真的假的,但没有不行,你懂的 |
* Jack Jiang点评:上述集群方案中,Redis既作为在线用户列表存储中心,又作为集群中不同IM长连接实例的消息中转服务(此时的Redis作用相当于MQ),那Redis不就成为了整个分布式集群的单点瓶颈了吗? @ 如果redis用了分片 或集群 这个还会成为瓶颈吗? |
引用:ink 发表于 2022-04-05 17:24 你可以先实现了再说,im这种技术不标准,每个人的实现方式都不一样,别生搬硬套理论就好,够用就行了 |
我之前实现了一个单机的基于netty的IM,现在想弄一个分布式的,打算按照文章的思路,用Kafka来做服务器集群之前的桥梁,想问一下,分布式的情况,消息确认机制跟如何实现比较好,也是通过消息队列发送吗 |
laile |
学习,不错不错 |
引用:15805817394 发表于 2022-01-19 11:36 不错不错 |
写得真好 |
引用:WarriorFromLong 发表于 2022-01-18 20:27 嗯呢 |
点赞,,我去看看代码。 |