关于提高性能的探讨

来源:9-21 接收方获得消息后重构渲染

LBruce

2021-03-26

ChatHandler接收聊天消息整体流程是,先对消息进行解析,再保存到数据库,最后找到目标用户Channel并发送消息。但在实际部署的时候,Netty服务不会跟MySQL在同一台机器上,而且一般系统性能瓶颈都是出在磁盘IO,网络IO上。因此是不是把消息保存到MySQL这一步,换成异步执行的方式,可以更加地提高性能??

也就是演变成1.解析消息 2.提交异步任务 3.发送消息给目标用户

异步任务处理实现方式本人想到可以自定义Java线程池,不知道还有没有别的异步任务处理框架。。。老师有什么见解??

写回答

1回答

风间影月

2021-03-26

你说的很对。接收消息后,保存到数据库这个过程分为2步骤。他们也是2个服务,中间通过 mq解耦可以大大提高性能。也就是说netty只负责通信,其他一切业务交互都由mq接收向下传递。

1
2
LBruce
非常感谢!
2021-03-26
共2条回复

Netty+Spring Boot仿微信-全栈开发高性能后台及客户端

SpringBoot/Netty+MUI全栈开发 同时搞定后台+ Android&iOS

1498 学习 · 684 问题

查看课程