现代IM系统中的消息系统架构 - 架构篇
前言
IM全称是『Instant Messaging』,中文名是即时通讯。在这个高度信息化的移动互联网时代,生活中IM类产品已经成为必备品,比较有名的如钉钉、微信、QQ等以IM为核心功能的产品。当然目前微信已经成长为一个生态型产品,但其核心功能还是IM。还有一些非以IM系统为核心的应用,最典型的如一些在线游戏、社交应用,IM也是其重要的功能模块。可以说,IM系统已经是任何一个带有社交属性的应用需要具备的基础功能,网络上对于这类系统的设计与实现的讨论也越来越多。
IM系统在互联网初期即存在,其基础技术架构在这十几年的发展中更新迭代多次,从早期的CS、P2P架构,到现在后台已经演变为一个复杂的分布式系统,涉及移动端、网络通信、协议、安全、存储和搜索等技术的方方面面。IM系统中最核心的部分是消息系统,消息系统中最核心的功能是消息的同步、存储

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
bin-log-distributor消费数据丢失问题解决记录
bin-log-distributor项目简介 bin-log-distributor是凯京科技开源的Mysql数据库数据变动实时监听分发中间件,详情见码云开源地址, github开源地址 背景 线上反馈有bin-log-distributor客户端偶尔有丢失数据的情况。 验证方法 在装mysql的服务器上,使用多个线程并发循环对bin-log-distributor监控的数据表进行增、删、改。 预期 bin-log-distributor客户端出现数据丢失。 定位 分析客户端收到的数据,发现不仅有数据丢失,还有数据重复消费。将客户端日志打印更仔细,发现以下两点问题: 从redis队列peek数据后,remove抛出如下异常: Redis队列数据没消费完其他线程异常进行了消费: 分析如下消费redis数据方法源码: private void doRunWithLock() { RLock rLock = redissonClient.getLock(dataKeyLock); EventBaseDTO dto; try { RQueue<EventBaseDTO> queu...
-
下一篇
4月15日云栖精选夜读 | 贾扬清:我对人工智能方向的一点浅见
【点击订阅云栖夜读周刊】 作为 AI 大神,贾扬清让人印象深刻的可能是他写的AI框架Caffe ,那已经是六年前的事了。经过多年的沉淀,成为“阿里新人”的他,对人工智能又有何看法?最近,贾扬清在阿里内部分享了他的思考与洞察,欢迎共同探讨、交流。 热点热议 贾扬清:我对人工智能方向的一点浅见 作者:技术小能手发表在:阿里技术 “不是不需要运维工程师,是人人皆是运维”|对话阿里云MVP蒋烁淼(上) 作者:MVP时间 辰悠发表在:阿里云MVP 2019年4月值得一读的9本技术书籍(机器学习、人工智能、Android等书籍)! 作者:技术小能手发表在:云栖干货集锦 知识整理 基于TableStore的海量气象格点数据解决方案实战 作者:亦征发表在:阿里云存储服务 面向SecDevOps七种武器 作者:简志发表在:阿里云存储服务 好程序员web前端教程分享CSS不同元素margin的计算 作者:好程序员 postgresql行列转换函数 作者:jason0 现代IM系统中的消息系统架构 - 架构篇 作者:木洛发表在:阿里云存储服务 美文回顾 Psqlgresql Time function时间函...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- SpringBoot2全家桶,快速入门学习开发网站教程
- MySQL数据库在高并发下的优化方案
- Red5直播服务器,属于Java语言的直播服务器