IM即时通讯开发架构技术:整体架构、服务拆分

本文介绍了亿级用户规模的IM即时通讯系统开发中的架构设计,强调高可靠、高可用、实时性和有序性的实现。通过微服务化,将架构分为IM业务系统、信令系统、推送系统和存储系统四个子系统,每个子系统内部再按业务逻辑细分为多个服务。此外,文中还详细讲解了各个子系统的职责,以及如何通过登录、在线状态维护、消息推送等技术手段确保服务稳定和用户体验。
摘要由CSDN通过智能技术生成

经历过稍有些规模的IM系统开发的同行们都有体会,要想实现大规模并发IM(比如亿级用户和数十亿日消息量这样的规模),在架构设计上需要一些额外的考虑,尤其是要解决用户高并发、服务高可用,架构和实现细节上都需要不短时间的打磨。

 

具体解释就是:

    1)高可靠:确保不丢消息;
    2)高可用:任意机房或者服务器挂掉,不影响服务;
    3)实时性:不管用户在哪里,在线用户消息在1秒内达到(我们实际是75%消息可以做到120ms);
    4)有序性:确保用户消息的有序性,不会出现发送和接受的乱序。

从整体架构上来说,亿级用户量的IM架构整体上偏复杂。

传统开源的IM服务喜欢把所有服务做到1-2个服务里(Connector+Service模型),这样带来的问题比较严重。

传统开源的IM的问题主要体现在:

    1)服务代码复杂,难以持续开发和运维;
    2)单一业务逻辑出问题,可能会影响到其它逻辑,导致服务的全面不可用。


因此,我在做架构设计的时候尽量追求微服务化。即把整体架构进行分拆为子系统,然后子系统内按照业务逻辑分拆为微服务。

4个子系统的职责是:

    1&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值