长连接网关技术专题(五):喜马拉雅自研亿级API网关技术实践

2021-05-31
阅读 9 分钟
4.5k
网关是一个比较成熟的产品,基本上各大互联网公司都会有网关这个中间件,来解决一些公有业务的上浮,而且能快速的更新迭代。如果没有网关,要更新一个公有特性,就要推动所有业务方都更新和发布,那是效率极低的事,有网关后,这一切都变得不是问题。
封面图

网页端IM通信技术快速入门:短轮询、长轮询、SSE、WebSocket

2021-05-25
阅读 9 分钟
3.7k
对Web端即时通讯技术熟悉的开发者来说,我们回顾网页端IM的底层通信技术,从短轮询、长轮询,到后来的SSE以及WebSocket,使用门槛越来越低(早期的长轮询Comet这类技术实际属于hack手段,使用门槛并不低),技术手段越来越先进,网页端即时通讯技术的体验也因此越来越好。
封面图

长连接网关技术专题(四):爱奇艺WebSocket实时推送网关技术实践

2021-05-17
阅读 6 分钟
2.6k
丛所周之,HTTP协议是一种无状态、基于TCP的请求/响应模式的协议,即请求只能由客户端发起、由服务端进行响应。在大多数场景,这种请求/响应的Pull模式可以满足需求。但在某些情形:例如消息推送(IM中最为常见,比如IM的离线消息推送)、实时通知等应用场景,需要实时将数据同步到客户端,这就要求服务端支持主动Push数...
封面图

IM扫码登录技术专题(三):通俗易懂,IM扫码登录功能详细原理一篇就够

2021-05-10
阅读 6 分钟
2.7k
本文引用了作者“大古同学”的“二维码扫码登录是什么原理”一文的主要内容,为了更好的理解和阅读,即时通讯网收录时有修订和改动,感谢原作者的分享。
封面图

直播系统聊天技术(四):百度直播的海量用户实时消息系统架构演进实践

2021-04-27
阅读 12 分钟
2.6k
本文原题“百度直播消息服务架构实践”,由百度APP消息中台团队原创分享于“百度Geek说”公众号,为了让文章内容更通俗易懂,本次已做排版优化和内容重新划分,原文链接在文末。
封面图

不为人知的网络编程(十二):彻底搞懂TCP协议层的KeepAlive保活机制

2021-04-19
阅读 9 分钟
1.1k
对于IM开发者而言,网络保活这件事再熟悉不过了,比如这是我最近一篇有关网络保活话题文章《一文读懂即时通讯应用中的网络心跳包机制:作用、原理、实现思路等》,以及我分享的大量代码实战编码中也都必须要考虑这个问题的实现,比如最近的这篇《跟着源码学IM(五):正确理解IM长连接、心跳及重连机制,并动手实现》。
封面图

跟着源码学IM(八):万字长文,手把手教你用Netty打造IM聊天

2021-04-12
阅读 14 分钟
1.1k
本文作者芋艿,原题“使用 Netty 实现 IM 聊天贼简单”,本底价有修订和改动。一、本文引言上篇《跟着源码学IM(七):手把手教你用WebSocket打造Web端IM聊天》中,我们使用 WebSocket 实现了一个简单的 IM 功能,支持身份认证、私聊消息、群聊消息。然后就有人发私信,希望使用纯 Netty 实现一个类似的功能,因此就有了本文...
封面图

跟着源码一起学:手把手教你用WebSocket打造Web端IM聊天

2021-04-06
阅读 22 分钟
1.9k
WebSocket如今在Web端即时通讯技术应用里使用广泛,不仅用于传统PC端的网页里,也被很多移动端开发者用于基于HTML5的混合APP里。对于想要在基于Web的应用里添加IM、推送等实时通信功能,WebSocket几乎是必须要掌握的技术。
封面图

从新手到专家:如何设计一套亿级消息量的分布式IM系统

2021-03-29
阅读 12 分钟
2.4k
本文将在亿级消息量、分布式IM系统这个技术前提下,分析和总结实现这套系统所需要掌握的知识点,内容没有高深的技术概念,尽量做到新手老手皆能读懂。
封面图

一套亿级用户的IM架构技术干货(下篇):可靠性、有序性、弱网优化等

2021-03-22
阅读 7 分钟
1.8k
接上篇《一套亿级用户的IM架构技术干货(上篇):整体架构、服务拆分等》,本文主要聚焦这套亿级用户的IM架构的一些比较细节但很重要的热门问题上,比如:消息可靠性、消息有序性、数据安全性、移动端弱网问题等。
封面图

一套亿级用户的IM架构技术干货(上篇):整体架构、服务拆分等

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

微信团队分享:微信直播聊天室单房间1500万在线的消息架构演进之路

2021-03-06
阅读 10 分钟
2.9k
随着直播和类直播场景在微信内的增长,这些业务对临时消息(在线状态时的实时消息)通道的需求日益增长,直播聊天室组件应运而生。直播聊天室组件是一个基于房间的临时消息信道,主要提供消息收发、在线状态统计等功能。
封面图

从根上理解高性能、高并发(七):深入操作系统,一文读懂进程、线程、协程

2021-03-03
阅读 10 分钟
1.4k
作为即时通讯技术的开发者来说,高性能、高并发相关的技术概念早就了然与胸,什么线程池、零拷贝、多路复用、事件驱动、epoll等等名词信手拈来,又或许你对具有这些技术特征的技术框架比如:Java的Netty、Php的workman、Go的gnet等熟练掌握。但真正到了面视或者技术实践过程中遇到无法释怀的疑惑时,方知自已所掌握的不...

网络编程入门从未如此简单(二):假如你来设计TCP协议,会怎么做?

2021-02-24
阅读 7 分钟
1.6k
网络编程能力对于即时通讯技术开发者来说是基本功,而计算机网络又是网络编程的理论根基,因而深刻准确地理解计算机网络知识显然能夯实你的即时通讯应用的实践品质。本文风格类似于《网络编程懒人入门》、《脑残式网络编程入门》两个系列,但通俗又不失内涵,简洁又不简陋,非常适合对计算机网络知识有向往但又有惧怕的...

网络编程入门从未如此简单(一):假如你来设计网络,会怎么做?

2021-02-02
阅读 12 分钟
1.4k
网络编程能力对于即时通讯技术开发者来说是基本功,而计算机网络又是网络编程的理论根基,因而深刻准确地理解计算机网络知识显然能夯实你的即时通讯应用的实践品质。

从根上理解高性能、高并发(六):通俗易懂,高性能服务器到底是如何实现的

2021-01-25
阅读 7 分钟
2.7k
作为即时通讯技术的开发者来说,高性能、高并发相关的技术概念早就了然与胸,什么线程池、零拷贝、多路复用、事件驱动、epoll等等名词信手拈来,又或许你对具有这些技术特征的技术框架比如:Java的Netty、Php的workman、Go的gnet等熟练掌握。但真正到了面视或者技术实践过程中遇到无法释怀的疑惑时,方知自已所掌握的不...
封面图

从根上理解高性能、高并发(五):深入操作系统,理解高并发中的协程

2021-01-18
阅读 8 分钟
1.5k
作为即时通讯技术的开发者来说,高性能、高并发相关的技术概念早就了然与胸,什么线程池、零拷贝、多路复用、事件驱动、epoll等等名词信手拈来,又或许你对具有这些技术特征的技术框架比如:Java的Netty、Php的workman、Go的gnet等熟练掌握。但真正到了面视或者技术实践过程中遇到无法释怀的疑惑时,方知自已所掌握的不...
封面图

从根上理解高性能、高并发(三):深入操作系统,彻底理解I/O多路复用

2021-01-05
阅读 7 分钟
1.2k
作为即时通讯技术的开发者来说,高性能、高并发相关的技术概念早就了然与胸,什么线程池、零拷贝、多路复用、事件驱动、epoll等等名词信手拈来,又或许你对具有这些技术特征的技术框架比如:Java的Netty、Php的workman、Go的nget等熟练掌握。但真正到了面视或者技术实践过程中遇到无法释怀的疑惑时,方知自已所掌握的不...

从根上理解高性能、高并发(二):深入操作系统,理解I/O与零拷贝技术

2020-12-28
阅读 6 分钟
1.8k
作为即时通讯技术的开发者来说,高性能、高并发相关的技术概念早就了然与胸,什么线程池、零拷贝、多路复用、事件驱动、epoll等等名词信手拈来,又或许你对具有这些技术特征的技术框架比如:Java的Netty、Php的workman、Go的nget等熟练掌握。但真正到了面视或者技术实践过程中遇到无法释怀的疑惑时,方知自已所掌握的不...

从根上理解高性能、高并发(一):深入计算机底层,理解线程与线程池

2020-12-23
阅读 11 分钟
1.9k
作为即时通讯技术的开发者来说,高性能、高并发相关的技术概念早就了然与胸,什么线程池、零拷贝、多路复用、事件驱动、epoll等等名词信手拈来,又或许你对具有这些技术特征的技术框架比如:Java的Netty、Php的workman、Go的nget等熟练掌握。但真正到了面视或者技术实践过程中遇到无法释怀的疑惑时,方知自已所掌握的不...

阿里技术分享:电商IM消息平台,在群聊、直播场景下的技术实践

2020-12-18
阅读 8 分钟
3k
本文来自淘宝消息业务团队的技术实践分享,分析了电商IM消息平台在非传统IM应用场景下的高发并、强互动群聊和直播业务中的技术特点,总结并分享了在这些场景下实现大量多对多实时消息分发投递的一些架构方面的设计实践。

不为人知的网络编程(十):深入操作系统,从内核理解网络包的接收过程(Linux篇)

2020-12-09
阅读 22 分钟
3.2k
因为要对百万、千万、甚至是过亿的用户提供各种网络服务,所以在一线互联网企业里面试和晋升后端开发同学的其中一个重点要求就是要能支撑高并发,要理解性能开销,会进行性能优化。而很多时候,如果你对网络底层的理解不深的话,遇到很多线上性能瓶颈你会觉得狗拿刺猬,无从下手。

Java对IPv6的支持详解:支持情况、相关API、演示代码等

2020-12-07
阅读 10 分钟
3.4k
本文由朱益盛、杨晖、傅啸分享,来自IBM Developer社区,原题“使用 Java 开发兼容 IPv6 的网络应用程序”,本次收录时有改动。

史上最通俗Netty入门长文:基本介绍、环境搭建、动手实战

2020-11-18
阅读 13 分钟
1.2k
本文适合对Netty一无所知的Java NIO网络编程新手阅读,为了做到这一点,内容从最基本介绍到开发环境的配置,再到第一个Demo代码的编写,事无巨细都用详细的图文进行了说明。

实时音视频面视必备:快速掌握11个视频技术相关的基础概念

2020-11-12
阅读 10 分钟
5.2k
随着移动互联网的普及,实时音视频技术已经在越来越多的场景下发挥重要作用,已经不再局限于IM中的实时视频聊天、实时视频会议这种功能,在远程医疗、远程教育、智能家居等等场景也司空见惯。

零基础IM开发入门(四):什么是IM系统的消息时序一致性?

2020-11-04
阅读 6 分钟
2.1k
本文引用了沈剑《如何保证IM实时消息的“时序性”与“一致性”?》一文的图片和内容(由于太懒,图没重新画),原文链接在文末。1、引言本文接上篇《零基础IM开发入门(三):什么是IM系统的可靠性?》,讲解IM系统中消息时序的一致性问题。所谓的一致性,在IM中通常指的是消息时序的一致性,那就是:1)聊天消息的上下文连续...

零基础IM开发入门(三):什么是IM系统的可靠性?

2020-10-29
阅读 6 分钟
1.4k
上一篇《零基础IM开发入门(二):什么是IM系统的实时性?》讲到了IM系统的“立足”之本——“实时性”这个技术特征,本篇主要讲解IM系统中的“可靠性”这个话题,内容尽量做到只讲原理不深入展开,避开深层次的技术性探讨,确保通俗易懂。

WebSocket硬核入门:200行代码,教你徒手撸一个WebSocket服务器

2020-10-21
阅读 13 分钟
3k
最近正在研究 WebSocket 相关的知识,想着如何能自己实现 WebSocket 协议。到网上搜罗了一番资料后用 Node.js 实现了一个WebSocket协议服务器,倒也没有想象中那么复杂,除去注释语句和 console 语句后,大约 200 行代码左右。

WebSocket从入门到精通,半小时就够!

2020-10-14
阅读 11 分钟
1.7k
自从HTML5里的WebSocket出现后,彻底改变了以往Web端即时通讯技术的基础通道这个“痛点”(在此之前,开发者们不得不弄出了诸如:短轮询、长轮询、Comet、SSE等技术,可谓苦之久矣...),如今再也不用纠结到底该用“轮询”还是“Comet”技术来保证数据的实时性了,幸福来的就是如此突然 ^-^。

融云技术分享:基于WebRTC的实时音视频首帧显示时间优化实践

2020-09-28
阅读 12 分钟
4.3k
本文由融云技术团队原创投稿,作者是融云WebRTC高级工程师苏道,转载请注明出处。1、引言在一个典型的IM应用里,使用实时音视频聊天功能时,视频首帧的显示,是一项很重要的用户体验指标。本文主要通过对WebRTC接收端的音视频处理过程分析,来了解和优化视频首帧的显示时间,并进行了总结和分享。(本文同步发布于:[链...