自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 比心聊天室的架构演进

作为聊天室行业头部产品,比心聊天室系统自18年起经历不断迭代已成为业界技术代表。本文聚焦比心聊天室系统经历的架构演进,介绍比心在不同阶段面对的问题以及解决思路,并向大家推荐比心聊天室开源项目sona,欢迎一起交流和学习。

2023-03-14 08:30:00 1412 3

原创 java网关服务性能提升利器:内存优化

Sona 平台是一个搭建语音房产品的全端解决方案,包含了房间管理、实时音视频、房间IM、长连接网关等能力。其中最基础核心的就是长连接网关。对于Java应用来说,内存的分配是由程序完成的,而内存的释放是通过GC完成的,这种方式简化了程序员的工作,但也增加了JVM的压力。有很多Java程序员过分依赖GC,但是无论JVM的垃圾回收机制做得多好,内存总归是有限的资源,因此就算GC会为我们完成了大部分的垃圾回收,但适当地注意编码过程中的内存优化还是非常有必要的。

2023-05-19 11:29:08 284 1

原创 java网关服务性能提升利器:CPU绑定对象池

Sona 平台是一个搭建语音房产品的全端解决方案,包含了房间管理、实时音视频、房间IM、长连接网关等能力。其中最基础核心的就是长连接网关。池化技术是把一些能够复用的东西放到池中,提前保存大量的资源,避免重复创建、销毁的开销,从而极大提高性能。在请求量比较大的时候能明显优化应用性能,降低系统频繁建连的资源开销。池化技术的应用非常广泛,我们工作中常见的比如数据库连接池、线程池、http连接池等。一、

2023-05-19 11:29:07 153 1

原创 java网关服务性能提升利器:CPU绑定

对于网关服务来说,需要支撑海量的请求,那必然要使用到多线程,也就不可避免的会导致线程切换。如果可以将这些繁忙的线程绑定到一个cpu核上,可以确保该线程的最大执行速度,实现低延迟,消除操作系统进行调度过程导致线程迁移所造成的抖动影响,还可以避免由于缓存失效而导致的性能开销。本文以开源项目SONA为例,介绍了一种线程与CPU绑定的方法,将服务整体性能提升了约25%。本文最后附上开源项目地址。

2023-04-24 09:00:00 554 1

原创 如何优雅地停止长连接网关服务

优雅地停止服务,也就是要保证把没有处理完的工作处理完成。比如停止一些依赖的服务,输出一些日志,发一些信号给其他的应用系统等,这个在保证系统的高可用中是非常有必要的。尤其像长连接网关这种,管理了大量的TCP 连接,绝不能直接暴力关闭,必须要保证已有的任务全都处理完,并且在关闭的过程中不会有新的请求进来。本文以开源项目SONA为例,详细解析网关服务优雅的原理和实现,帮助读者更好理解和实践。本文最后附上开源项目地址。

2023-04-21 09:00:00 843

原创 详解IM网关连接检测的原理与实现

在长连接技术领域,实时探测连接是否正常,是一件既重要又复杂的事情。本文以开源项目SONA为例,详解长连接网关的连接检测的原理与实现,帮助读者理解相关技术,快速上手实践。本文最后附上开源项目地址。

2023-04-19 09:00:00 353 1

原创 详解netty长连接网关请求处理模型

想要支持海量的客户端请求,首先要有一套高效的请求处理模型。本文以开源项目SONA为例,详解如何基于netty设计请求处理模型,帮助读者动手实践。本文最后附上开源项目地址。

2023-04-17 10:21:45 676 1

原创 从0到1快速了解netty长连接网关协议

IM(即时通讯系统)作为一项基本能力,在各个公司的产品中都处于一个举足轻重的地位。作为IM能力的最重要提供方,长连接网关的设计至关重要。本文以比心聊天室解决方案开源项目SONA为例,解析netty长连接网关在协议层的设计,帮助读者快速了解长连接协议。本文最后附上开源项目地址。

2023-04-13 14:15:36 535 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除