阿里IM技术分享(十):深度揭密钉钉后端架构的单元化演进之路

2023-02-09
阅读 9 分钟
932
钉钉后端架构的单元化工作从2018年开始到今年,已经是第五个年头了。五年的时间,钉钉单元化迭代了三个版本,从最初的毛头小子,到达今年已经小有成就。我们在进行单元化架构建设的过程中,除了网上能找到的屈指可数的文章外,可以直接使用的系统更是乏善可陈,使我们不得不从最基础的系统开始造轮子,极大的影响建设效...
封面图

开源即时通讯IM框架 MobileIMSDK v6.3 发布

2023-02-07
阅读 2 分钟
673
一、更新内容简介本次更新为次要版本更新,进行了若干优化(更新历史详见:码云 Release Nodes)。可能是市面上唯一同时支持 UDP+TCP+WebSocket 三种协议的同类开源IM框架。二、MobileIMSDK简介MobileIMSDK 是一套专为移动端开发的原创IM通信层框架:历经8年、久经考验;超轻量级、高度提炼,lib包50KB以内;精心封装,...
封面图

IM开发者的零基础通信技术入门(十):零基础,史上最强5G技术扫盲

2023-02-04
阅读 8 分钟
1.3k
➊ 5G技术的关注度越来越高:在此之前,5G技术对于普通老百姓来说,似乎还很遥远,关注度并不高。但从去年开始,美帝赤裸裸打压中兴和华为的国际事件,让5G技术在国内有了很高的关注度。美帝打压中兴、华为固然是坏事,但因为这个事情,相当于反过来为5G技术在国外做起了免费广告,这或许对于接下来5G商用在国内的推广有...
封面图

IM通讯协议专题学习(八):金蝶随手记团队的Protobuf应用实践(原理篇)

2023-01-28
阅读 10 分钟
1.3k
跟移动端IM中追求数据传输效率、网络流量消耗等需求一样,随手记客户端与服务端交互的过程中,对部分数据的传输大小和效率也有较高的要求,普通的数据格式如 JSON 或者 XML 已经不能满足,因此决定采用 Google 推出的 Protocol Buffers 以达到数据高效传输。本文将基于随手记团队的Protobuf应用实践,分享了Protobuf的技...
封面图

IM通讯协议专题学习(七):手把手教你如何在NodeJS中从零使用Protobuf

2023-01-05
阅读 10 分钟
1.1k
Protobuf最大的特点是数据格式拥有极高的压缩比,这在移动互联时代是极具价值的(因为移动网络流量到目前为止仍然昂贵的),如果你的APP能比竞品更省流量,无疑这也将成为您产品的亮点之一。
封面图

阿里IM技术分享(九):深度揭密RocketMQ在钉钉IM系统中的应用实践

2022-12-30
阅读 7 分钟
1.1k
短短的几年时间,钉钉便迅速成为一款国民级应用,发展速度堪称迅猛。IM作为钉钉最核心的功能,每天需要支持海量企业用户的沟通,同时还通过 PaaS 形式为淘宝、高德等 App 提供基础的即时通讯能力,是日均千亿级消息量的 IM 平台。在钉钉的IM中,我们通过 RocketMQ实现了系统解耦、异步削峰填谷,还通过定时消息实现分布...
封面图

基于Netty的IM聊天加密技术学习:一文理清常见的加密概念、术语等

2022-12-22
阅读 7 分钟
1.2k
在社区中,分享了很多篇基于Netty编写的IM聊天入门文章(比如《跟着源码学IM》系列、《基于Netty,从零开发IM》系列等),在这些文章中分享了各种IM通信算法原理和功能逻辑的实现。但是这样简单的IM聊天系统是比较容易被窃听的,如果想要在里面说点悄悄话是不太安全的。怎么办呢?学过密码学的朋友可能就想到了一个解决...
封面图

IM通讯协议专题学习(五):Protobuf到底比JSON快几倍?全方位实测!

2022-12-16
阅读 23 分钟
2k
本系列的前几篇主要是从各个角度讲解Protobuf的基本概念、技术原理这些内容,但回过头来看,对比JSON这种事实上的数据协议工业标准,Protobuf到底性能到底高多少?本篇将以Protobuf为基准,对比市面上的一些主流的JSON解析库,通过全方位测试来证明给你看看Protobuf到底比JSON快几倍。
封面图

基于开源IM即时通讯框架MobileIMSDK:RainbowChat v8.3版已发布

2022-12-07
阅读 2 分钟
1.3k
MobileIMSDK 是一套专门为移动端开发的开源IM即时通讯框架,超轻量级、高度提炼,一套API优雅支持UDP 、TCP 、WebSocket 三种协议,支持iOS、Android、H5、标准Java平台,服务端基于Netty编写。
封面图

即时通讯技术文集(第7期):长连接网关、P2P等 [共10篇]

2022-11-28
阅读 2 分钟
768
[摘要]经过了一年多的开发和演进,经过我们服务面向内和外的数个 App、接入十几个需求和形态各异的长连接业务、数百万设备同时在线、突发大规模消息发送等等场景的锤炼,我们提炼出一个长连接系统网关的通用解决方案:知乎长连接网关致力于业务数据解耦、消息高效分发、解决容量问题,同时提供一定程度的消息可靠性保证。
封面图

IM通讯协议专题学习(三):由浅入深,从根上理解Protobuf的编解码原理

2022-11-24
阅读 8 分钟
797
1、引言搞即时通讯IM方面开发的程序员,在谈到通讯层实现时,必然会提到网络编程。那么计算机网络编程中的一个非常基本的问题:到底该怎样组织Client与server之间交互的数据呢?本篇文章我们不讨论IM系统中的那些高端技术话题,我们回归到通讯的本质——也就是数据在网络中交互时的编解码原理,并由浅入深从底层理解Protob...
封面图

即时通讯技术文集(第6期):移动端弱网优化文章汇总 [共13篇]

2022-11-21
阅读 2 分钟
857
[摘要]短连接的优化在某些场景下对于移动端IM来说可能显示的更为特出。在这方面,微信做的比较彻底和极端,几乎再造了一套针对移动端IM的网络层框架(详见:《如约而至:微信自用的移动端IM网络层跨平台组件库Mars已正式开源》)。
封面图

IM通讯协议专题学习(二):快速理解Protobuf的背景、原理、使用、优缺点

2022-11-17
阅读 7 分钟
929
Protobuf 作为一种跨平台、语言无关、可扩展的序列化结构数据通讯协议,已广泛应用于网络数据交换的场景中(比如IM通信、分布式RPC调用等)。随着互联网的发展,分布式系统的异构性会愈发突出,跨语言的需求会愈加明显,同时 gRPC 也大有取代Restful之势,而 Protobuf 作为gRPC 跨语言、高性能的法宝,我们技术人有必要...
封面图

即时通讯技术文集(第5期):零基础通信技术入门 [共15篇]

2022-11-11
阅读 3 分钟
1.7k
评语:本系列文章尽量使用最浅显易懂的文字、图片来组织内容,力求通信技术零基础的人群也能看懂。但个人建议,至少稍微了解过网络通信方面的知识后再看,会更有收获。特别推荐即时通讯开发者来阅读,因为针对移动弱网的问题,确实可以找到很多有价值的答案。
封面图

IM通讯协议专题学习(一):Protobuf从入门到精通,一篇就够!

2022-11-11
阅读 10 分钟
1.5k
在当今移动网络时代,手机流量和电量是宝贵的资源,对于移动端最常见的即时通讯IM应用,由于实时通信基于Socket长连接,它对于流量和电量的需求较一般应用来说更高(详见《移动端IM实践:WhatsApp、Line、微信的心跳策略分析》)。在IM应用中,优化数据流量消耗过多的基本方法就是使用高度压缩的通讯协议,而数据压缩后...
封面图

基于开源IM即时通讯框架MobileIMSDK:RainbowChat-iOS端v6.1版已发布

2022-11-05
阅读 2 分钟
1.3k
MobileIMSDK 是一套专门为移动端开发的开源IM即时通讯框架,超轻量级、高度提炼,一套API优雅支持UDP 、TCP 、WebSocket 三种协议,支持iOS、Android、H5、标准Java平台,服务端基于Netty编写。
封面图

IM消息ID技术专题(七):网易严选分布式ID的技术选型、优化、落地实践

2022-11-03
阅读 5 分钟
945
在《IM消息ID技术专题》系列文章的前几篇中,我们已经深切体会到消息ID在分布式IM聊天系统中的重要性以及技术实现难度,各种消息ID生成算法及实现虽然各有优势,但受制于具体的应用场景,也并不能一招吃遍天下,所以真正在IM系统中该如何落地消息ID算法和实现逻辑,还是要因地致宜,根据自已系统的设计逻辑和产品定义取...
封面图

即时通讯技术文集(第4期):不为人知的网络编程 [共14篇]

2022-11-01
阅读 2 分钟
759
为了更好地分类阅读52im.net 总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第4 期。[- 1 -] 不为人知的网络编程(一):浅析TCP协议中的疑难杂症(上篇)[链接] [链接][摘要] 可能大家都知道TCP是三次交互完成连接的建立,四次交互来断开一个连接,那为什么是三次握手和四次挥手呢?反过来不行吗?[- 2 -...
封面图

IM跨平台技术学习(六):网易云信基于Electron的IM消息全文检索技术实践

2022-10-27
阅读 6 分钟
1.1k
在IM客户端的使用场景中,基于本地数据的全文检索功能扮演着重要的角色,最常用的比如:查找聊天记录、联系人等。类似于IM中的聊天记录查找、联系人搜索这类功能,有了全文检索能力后,确实能大大提高内容查找的效率,不然,让用户手动翻找,确实降低了用户体验。本文将要分享的是,网易云信基于Electron的PC端是如何实...
封面图

IM跨平台技术学习(五):融云基于Electron的IM跨平台SDK改造实践总结

2022-10-20
阅读 6 分钟
784
Electron 凭借其相对更低的研发成本投入、强大的跨平台支持、拥有基数庞大的 Javascript 开发者受众等优势,在 PC 端跨平台桌面开发领域异军突起,大受欢迎。本文分享的是融云基于Electron的IM跨平台PC端SDK改造过程中所总结的一些实践经验,希望对你有用。
封面图

即时通讯技术文集(第2期):脑残式网络编程系列 [共12篇]

2022-10-18
阅读 3 分钟
743
[摘要]网络编程中TCP协议的三次握手和四次挥手的问题,在面试中是最为常见的知识点之一。本篇文章尝试使用动画图片的方式,来对这个知识点进行“脑残式”讲解(哈哈),期望读者们可以更加简单、直观地理解TCP网络通信交互的本质。
封面图

IM跨平台技术学习(四):蘑菇街基于Electron开发IM客户端的技术实践

2022-10-13
阅读 10 分钟
766
1、引言本系列文章的前面几篇主要是从Electron技术本身进行了讨论(包括:第1篇初步了解Electron、第2篇进行了快速开始和技术体验、第3篇基于实际开发考虑的技术栈选型等),各位读者也应该对Electron的开发有了较为深入的了解。

移动端IM产品RainbowChat[专业版] iOS端 v6.0版已发布!

2022-10-12
阅读 1 分钟
784
MobileIMSDK 是一套专门为移动端开发的开源IM即时通讯框架,超轻量级、高度提炼,一套API优雅支持UDP 、TCP 、WebSocket 三种协议,支持iOS、Android、H5、标准Java平台,服务端基于Netty编写。
封面图

即时通讯技术周刊(第1期):懒人网络编程系列 [共14篇]

2022-10-08
阅读 3 分钟
805
[摘要] 互联网的核心是一系列协议,总称为"互联网协议"(Internet Protocol Suite)。它们对电脑如何连接和组网,做出了详尽的规定。理解了这些协议,就理解了互联网的原理。本篇将带你从理论上快速理解这些协议。
封面图

IM跨平台技术学习(三):vivo的Electron技术栈选型、全方位实践总结

2022-09-28
阅读 10 分钟
1.4k
在上篇《Electron初体验(快速开始、跨进程通信、打包、踩坑等)》的分享中,我们已经对Electron跨端框架的开发有了大概的了解。本篇将基于vivo技术团队的技术实践,详细阐述了vivo在使用Electron进行跨端桌面开发时的技术栈选型考量,同时分享了在打包构建、版本更新、性能优化、质量保障、安全性等方面的实践方案和踩坑...
封面图

IM跨平台技术学习(二):Electron初体验(快速开始、跨进程通信、打包、踩坑等)

2022-09-22
阅读 9 分钟
1.4k
本篇将带你简单上手Electron框架开发跨平台桌面端,内容包括一个快速开始例子、跨进程通信原理、打包和分发、以及一些典型的技术踩坑等。希望能带给你启发。
封面图

基于开源IM即时通讯框架MobileIMSDK:RainbowChat-iOS端v5.0版已发布

2022-09-14
阅读 1 分钟
2.2k
MobileIMSDK 是一套专门为移动端开发的开源IM即时通讯框架,超轻量级、高度提炼,一套API优雅支持UDP 、TCP 、WebSocket 三种协议,支持iOS、Android、H5、标准Java平台,服务端基于Netty编写。
封面图

微信Windows端IM消息数据库的优化实践:查询慢、体积大、文件损坏等

2022-09-06
阅读 7 分钟
2.2k
本文分享的是,微信客户端团队基于对微信用户日常使用场景和数据分析,通过分离重要和非重要数据、采用可靠的分库策略等,对微信Windows端IM本地数据库的架构进行的优化和改造,并最终得到一个具备良好实践效果的技术改造方案。
封面图

即时通讯安全篇(十一):IM聊天系统安全手段之传输内容端到端加密技术

2022-08-31
阅读 8 分钟
1.5k
在上篇《IM聊天系统安全手段之通信连接层加密技术》中,分享了关于通信连接层加密的相关技术和实践,包括在传输即时通信消息时启用 TLS 链路加密(保证消息在到达服务器前无法被窃听和篡改)、使用 CA 认证机制(杜绝中间人攻击)等。本篇将围绕IM传输内容的安全问题,以实践为基础,为你分享即时通讯应用中的“端到端”加...
封面图

即时通讯安全篇(十):IM聊天系统安全手段之通信连接层加密技术

2022-08-24
阅读 5 分钟
1.9k
随着移动互联网的普及,IM即时通讯类应用几乎替代了传统运营商的电话、短信等功能。得益于即时通讯技术的实时性优势,使得人与人之间的沟通和交流突破了空间、时间等等限制,让信息的传递变的无处不在。
封面图