发短信、通知、邮件等消息基本上大部分业务系统都需要的功能,如果子系统比较多,每个子系统单独对接集成,而且后期如果更换对接方式,如更换运营商维护成本非常大,且出现问题需要按子系统单独排查解决效率低下。消息中心服务平台旨在为各个业务系统之间提供统一消息转发和存储服务,实现整个各业务系统消息类型的适配和信息交换,统一维护消息服务相关功能。
主要实现以下目标:
消息转发:能够将一个业务系统的信息转发至其他业务系统或移动端;消息类型适配:
能够适配各种消息类型的消息传递,如私信、通知、短信、邮件、APP推送等;
消息存储:可对所有从消息中心转发的消息内容进行数据存储,可从界面进行内容预览、查询、导出等功能,同时可对消息的状态进行跟踪,以达到消息管控的目的;
灵活可扩展:针对不同业务系统需求场景,可通过平台组件化对接不同的第三方平台而不影响平台的实时运行。
技术实现主要采用spring+dubbo+activemq+mybatis+redis。spring作为核心基础框架,dubbo用于实现接口层和服务层的注册以及远程调用。activemq用于消息的临时存储,然后使用异步线程池进行入库操作。
主要负责技术选型,以及整体架构设计。系统在上线之后有时候会出现消息阻塞的问题,经过排查定位发现是发送端消息数量过多,消费端使用串行的方式消费过慢,通过优化消费端使用多线程异步处理从而解决了消息阻塞的问题