前言(以下内容均已经脱敏,代码也均是自己从网上收集或自己编写的伪代码)
来公司也有两周了,这两周主要是熟悉项目代码,测试一些小bug,正在慢慢接触更深的东西哈哈哈
背景
目前我在产品研发部门,对老产品进行二次开发和优化好像是,我这一块主要负责消息中台的二开(我的个人理解)。貌似是美的的一个推送消息的平台抽取重建,之前和业务耦合,现在就是要把这部分公共化作为中台,我的理解就是像支付中台一样(我只关注钱操作相关的东西如:商户账号配置、支付、对账、分润、分账等等);同理这个消息推送中台也一样,我只关注消息的下发,处理,回调等等,其他的业务直接调用就行啦!
对各类消息进行统一发送处理。这有利于对功能的收拢,以及提高业务需求开发的效率
模块架构
工程模块 | 作用 |
---|---|
common | 项目公共包:存储着项目公共常量/枚举/Bean |
support | 项目工具包:对接中间件/组件 |
cron | 定时任务模块:对xxl-job封装和项目定时任务逻辑 |
web | 后台管理模块:提供接口给前端调用 |
service-api | 消息接入层接口定义模块:只有接口和必要的入参依赖 |
service-api-impl | 消息接入层具体实现模块:真实处理请求 |
handler | 消息处理逻辑层:消费MQ下发消息 |
stream | 实时处理模块:利用flink实时处理下发链路数据 |
data-house | 数据仓库模块:消费MQ数据写入hive |
大数据平台
- 大数据平台会圈选人群指定哪些人会收到消息
- 指定时间什么时候发送消息给这批人
数据情况(大数据平台和技术需要知道消息发送的结果)
- 用户有没有收到消息
- 有没有点击消息
- 是否被规则过滤。。。。。。。。。。。
- 这些数据通过api层和handler的日志来显示
流处理模块
- 会清洗上面产生的日志文件导出报表数据
- 将报表数据发送到后台(前端管理系统)
- 大数据平台和技术就可以查看消息下发的整体情况,或某一用户的情况
结尾
中台搭建后,其他业务方只需要调用中台中的http或者rpc就可以实现消息的下发等功能
例如:
中台前
中台后
评论( 0 )