即时通讯IM
愢忆
让所有公司都能用上靠谱的IM
展开
-
用t-io从零写一个像微信的IM(05):架构设计
关于架构将帅无能,累死三军;架构不行,耗死码农。架构之于软件,同地基之于大厦。地基腐则大厦塌,架构烂则软件败架构图架构解说1. 多级缓存两级是使用较多的一个流程,所谓两级缓存指的是本地缓存和分布式缓存,当本地缓存没有命中时,则去分布式缓存中获取数据;而本架构中说到了多级缓存,是将本地缓存又分为拦截器之前的缓存和业务数据缓存。拦截器之前的缓存指的是收到请求时,直接从请求路径中获取缓存,如果命中则直接返回;业务数据缓存比较大众,本文略过介绍2. 协议适配/转换web型.原创 2020-12-30 16:52:55 · 254 阅读 · 0 评论 -
用t-io从零写一个像微信的IM(04):IM协议设计
协议设计原则1. 安全鉴权和授权是安全的两大要素,协议设计时,鉴权和授权是必须要考虑进去的2. 高效高效包括开发高效和运行高效,开发高效要求协议易懂、易编码、易解码,运行高效要求编解码算法高效、没有多余无用的体积3. 可扩展既能满足现有需求,在未来发生较大需求变更时,协议也能适应协议格式参考协议格式说明当5个字节的消息头满足不了消息元数据时,可以增设二级消息头,譬如命令码为9899时,有二级消息头,二级消息头里重新定义业务命令码 碰到上传图片或文件的需求时,不建议走原创 2020-12-22 18:44:21 · 174 阅读 · 0 评论 -
用t-io从零写一个像微信的IM(03):网络框架选择
用t-io从零写一个像微信的IM(03):网络框架选择 网络框架的选择主要指服务器端,毕竟IM的技术门槛都在服务器端(这并不是说客户端不难,只是相对而言技术门槛不是那么高) 这里先给出结论,我们选择的是t-io,这里有一份《t-io技术白皮书》,可以参考一下 给出结论后,来说说为什么选择t-io。以IM的需求来说明为什么说选择t-io是个不错的思路 1. 既要支持socket又要支持websocket 既要支持socket又要支持websocket的网络框架很多,但是我们想的更多的是,这两个协议能...原创 2020-11-30 11:02:46 · 129 阅读 · 0 评论