栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

基于Netty重构消息服务实现万级别即时通讯--待更

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

基于Netty重构消息服务实现万级别即时通讯--待更

一、首先列举一下需要实现的功能

1.实现服务端与客户端之间的全双工通信,服务端可以主动向客户端发送消息
2.区分不同客户端
3.区分不同用户
4.区分前端框架
5.服务端对客户端的连接情况统计
6.通道隔离
7.认证健全
8.心跳机制
9.对接docker容器部署
10.实现万级别并发

二、技术调研,开发框架的选择

主流框架分别有

Netty
Undertow
Jetty
Vert.x
Grizzly
spray-websocket
nodejs-websocket/Node.js
Go

由于开发语言限制,只对Netty、Undertow和Jetty进行了调研,听说Tomcat也有NIO了,但是由于不够轻量,就不考虑了

    Netty(开源):异步,事件驱动,NIO,轻量级,性能优秀,稳定性好,内存占用低,快速开发且可维护,传输快(零拷贝)Undertow(红帽公司):NIO,轻量级,性能良好,稳定性好,内存占用略高Jetty(开源):不够轻量级直接Pass

最终考虑基于Netty框架进行开发

版本选择:Netty5基于AIO,使用了 ForkJoinPool,增加了代码复杂度,但是性能提升并不明显,已被官方遗弃,所以选择官方一直在维护的Netty4,更加稳定,基于NIO性能也足够优秀

对Netty的简单理解

先上两张Netty的架构图

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/736977.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号