消息中心是为了将具体业务和消息进行解耦,实现企业微信定制推送、邮件、业务系统消息交互等功能,
可以在分布式环境下提供应用解耦、冗余存储、流量削峰、异步通信、数据同步
背景
调用量大
消息总量大,企业微信推送消息可能一下子就要调用接口上千次
低延迟
有的消息实时性比较强,需要快速发送
不丢消息、不重复发送消息
消息要保证不丢失,不重复发送。我们要记录消息的状态,保证消息的幂等,还要支持发送失败的消息自动或手动重试。
历史消息查询和备份
已经发送过的消息需要有记录
消息统计分析 调用量大
发送过的消息需要有一个统计
架构选型
目前消息中间件有ActiveMQ、RabbitMQ、Kafka、RocketMQ、ZeroMQ等
综合考虑使用kafka
具体实现平台
消息中心api平台
前台需要实现定制发送消息的界面,比如可视化配置定时在企业微信上给谁发送什么消息
后台需要支持消息生产和消息消费以及消费队列
提供各种以供调用的推送消息和拉取消息的api
elk日志平台
对分布式系统日志进行管理
功能图


