- 博客(8)
- 收藏
- 关注

原创 比心聊天室的架构演进
作为聊天室行业头部产品,比心聊天室系统自18年起经历不断迭代已成为业界技术代表。本文聚焦比心聊天室系统经历的架构演进,介绍比心在不同阶段面对的问题以及解决思路,并向大家推荐比心聊天室开源项目sona,欢迎一起交流和学习。
2023-03-14 08:30:00
1794
3
原创 java网关服务性能提升利器:内存优化
Sona 平台是一个搭建语音房产品的全端解决方案,包含了房间管理、实时音视频、房间IM、长连接网关等能力。其中最基础核心的就是长连接网关。对于Java应用来说,内存的分配是由程序完成的,而内存的释放是通过GC完成的,这种方式简化了程序员的工作,但也增加了JVM的压力。有很多Java程序员过分依赖GC,但是无论JVM的垃圾回收机制做得多好,内存总归是有限的资源,因此就算GC会为我们完成了大部分的垃圾回收,但适当地注意编码过程中的内存优化还是非常有必要的。
2023-05-19 11:29:08
385
1
原创 java网关服务性能提升利器:CPU绑定对象池
Sona 平台是一个搭建语音房产品的全端解决方案,包含了房间管理、实时音视频、房间IM、长连接网关等能力。其中最基础核心的就是长连接网关。池化技术是把一些能够复用的东西放到池中,提前保存大量的资源,避免重复创建、销毁的开销,从而极大提高性能。在请求量比较大的时候能明显优化应用性能,降低系统频繁建连的资源开销。池化技术的应用非常广泛,我们工作中常见的比如数据库连接池、线程池、http连接池等。一、
2023-05-19 11:29:07
205
1
原创 java网关服务性能提升利器:CPU绑定
对于网关服务来说,需要支撑海量的请求,那必然要使用到多线程,也就不可避免的会导致线程切换。如果可以将这些繁忙的线程绑定到一个cpu核上,可以确保该线程的最大执行速度,实现低延迟,消除操作系统进行调度过程导致线程迁移所造成的抖动影响,还可以避免由于缓存失效而导致的性能开销。本文以开源项目SONA为例,介绍了一种线程与CPU绑定的方法,将服务整体性能提升了约25%。本文最后附上开源项目地址。
2023-04-24 09:00:00
746
1
原创 如何优雅地停止长连接网关服务
优雅地停止服务,也就是要保证把没有处理完的工作处理完成。比如停止一些依赖的服务,输出一些日志,发一些信号给其他的应用系统等,这个在保证系统的高可用中是非常有必要的。尤其像长连接网关这种,管理了大量的TCP 连接,绝不能直接暴力关闭,必须要保证已有的任务全都处理完,并且在关闭的过程中不会有新的请求进来。本文以开源项目SONA为例,详细解析网关服务优雅的原理和实现,帮助读者更好理解和实践。本文最后附上开源项目地址。
2023-04-21 09:00:00
1068
原创 详解IM网关连接检测的原理与实现
在长连接技术领域,实时探测连接是否正常,是一件既重要又复杂的事情。本文以开源项目SONA为例,详解长连接网关的连接检测的原理与实现,帮助读者理解相关技术,快速上手实践。本文最后附上开源项目地址。
2023-04-19 09:00:00
422
1
原创 详解netty长连接网关请求处理模型
想要支持海量的客户端请求,首先要有一套高效的请求处理模型。本文以开源项目SONA为例,详解如何基于netty设计请求处理模型,帮助读者动手实践。本文最后附上开源项目地址。
2023-04-17 10:21:45
769
1
原创 从0到1快速了解netty长连接网关协议
IM(即时通讯系统)作为一项基本能力,在各个公司的产品中都处于一个举足轻重的地位。作为IM能力的最重要提供方,长连接网关的设计至关重要。本文以比心聊天室解决方案开源项目SONA为例,解析netty长连接网关在协议层的设计,帮助读者快速了解长连接协议。本文最后附上开源项目地址。
2023-04-13 14:15:36
645
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人