【原创】开源OpenIM:轻量、高效、实时、可靠、低成本的消息模型

【原创】开源OpenIM:轻量、高效、实时、可靠、低成本的消息模型

1、内容概述

一套完整IM系统中,除开基本的业务设计,消息模型的设计是其中最为关键的一环,它关系到整个IM系统的可靠性、高效性、稳定性,因此需要设计一套合理的消息传递收发机制以承载IM的各种需求,OpenIM结合具体的业务场景,提炼出IM后端的重要接口,并经过反复推敲,验证,设计出了自己的一套通信协议OMTP,协议中每个字段尽量的减少冗余,使其精简高效、最大限度的满足现有的业务需求并能够支持业务的水平拓展,同时为了达到消息的实时可靠与高效,消息模型也经过了精心设计。

(1)消息的实时性:消息的实时性是考验IM系统的重要标准,传统的IM通过http长短轮询的方式来模拟实时消息,存在“实时性盲区”,所以OpenIM也同样使用了HTML5的Websocket技术,Websocket是真正的全双工双向通信技术,能够实现服务器主动推送消息到客户端,实现真正的实时双向通信(服务器通知客户端有信息到达,客户端随时向服务器发送新消息),一次连接,随时都可以使用,不用像轮询技术中不断使用http请求,这样降低了服务器的负载,并减少一些高频无用的请求。

(2)消息的可靠性:消息的可靠性,是指消息的不丢失,不重复,由于网络环境的各种复杂情况,包括数据在到达客户端后,数据需要进行各种解析与处理,包括写入db,存入cache,UI的各种展现等等,而且还包括客户端的各种异常情况ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值