消息中心

我要开发同款
LeiYiKun2023年06月07日
132阅读
开发技术java

作品详情

1.项目主要仿照钉钉做的一款公司内部使用的即时通讯软件,围绕聊天、发送消息、网盘为主要功能,其中聊天包括:单聊,群聊;发送消息包括:邮箱、短信、钉钉平台、微信平台。
2.本人负责网盘与聊天部分功能的开发工作,发送与接收消息使用RocketMQ+WebSocket进行实现,文件上传与下载使用手写分片+多线程实现,开发中遇到许多多线程问题、性能问题。例:
集群环境消息推送延迟甚至丢失,使用redis分布式锁保证某些操作线程安全,MQ使用广播模式避免消息丢失;
文件上传下载时OOM或文件异常,使用线程池控制上传、下载的线程数量,一个分片操作作为一个线程、每个分片大小可配置,这样能控制住所有上传下载的内存消耗,使用主子线程同步操作保证分片是顺序的避免文件异常。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论