大型企业及银行(恒丰银行4万+员工)的内部办公通讯需求。痛点:商业IM产品(钉钉/企业微信)无法满足银行/政企的数据安全合规要求,需自建私有化部署的IM系统;同时需适配信创环境(国产OS/数据库/JDK),支撑万人级并发,保证消息不丢不重。
点击空白处退出提示
大型企业及银行(恒丰银行4万+员工)的内部办公通讯需求。痛点:商业IM产品(钉钉/企业微信)无法满足银行/政企的数据安全合规要求,需自建私有化部署的IM系统;同时需适配信创环境(国产OS/数据库/JDK),支撑万人级并发,保证消息不丢不重。
消息通讯:单聊/群聊、消息撤回、消息已读/未读、群已读未读统计、@提及、群通知/置顶
离线消息:用户离线期间消息存储于Redis,上线后自动推送,保证消息不丢
个人状态:在线/离线/忙碌/勿扰状态管理,状态实时同步至集群所有节点
文件传输:聊天附件发送、文件控制(预览/下载权限管理)
咻一下:类似钉钉"DING"消息的强提醒功能,支持多端推送
灰度发布:APP端支持灰度发布与增量更新,降低版本迭代风险
通信框架设计
自定义MQTT消息协议,通信框架支持Tio与Netty之间灵活切换。消息协议层与业务层抽象分拆,底层通信框架变更不影响上层业务逻辑。支持集群部署,单节点承载数千连接,集群整体支撑2万+用户同时在线。
集群状态同步
使用Hazelcast Cache存储在线用户状态与集群转发路由表。用户连接任一节点后,状态同步至全集群,跨节点消息通过Hazelcast路由转发至目标用户所在节点,保证集群环境下消息实时可达。
OOM内存泄漏排查实战
线上出现周期性OOM,通过分析heap dump文件,利用MAT(Memory Analyzer Tool)定位堆内存最大对象,结合引用链与源码分析,确认是连接资源未正确释放导致内存泄漏。修复后系统稳定性显著提升。此外还排查了Gateway堆外内存泄漏(官方漏洞)和Kafka Rebalance死锁(消费SQL未加索引导致锁表)。
性能压测与优化
自定义JMeter插件进行系统压测(该工具已申请国家专利)。使用Java Flight Recorder和Async Profiler监控定位性能瓶颈,针对性优化后消息服务整体性能提升约100%。排查PC端长连接断连问题,通过Wireshark抓包确认VPN导致域名解析失败,推动网管侧修复。



评论