为啥要统一数据格式
前面写过一篇通过延迟信息展示的方式在产品上做了一些优化,来提升后端的响应性能,也提到过我们这个审核系统是一个遗留系统,遗留系统还有一个毛病就是历史包袱比较重,而这里要说的一点就是数据格式不统一造成的问题,以及性能损耗
简要介绍下审核系统内部处理流程
下面忽略了很多细节以及一些在这边博文中,不需要考虑的过程,可以认为是一个极简版的审核系统
- 业务方会把要审核的数据发送到消息队列中,审核系统从 mq 消费队列中消费消息,【这里不考虑遗留系统给业务方提供的接口发过来的数据,在接手这个项目之前,这个使用接口接收数据的方式已经淘汰了】
- 消费消息的过程即是数据进审的过程,这里忽略了细节,统一任务数据进审成功,然后存入 es【这里遗留系统还有一部分业务数据是由 mongo 来存取的,这里为了方便说明,只考虑一个服务组件的情况】
- 审核人员通过前端界面拉取要审核的数据,包括之前博文中提到的面板的各种计量数据都是从服务组件中获得的【这里只考虑 es 的情况,同时这里不考虑分发的一些并发性控制等问题】
- 审核人员拉取到审核数据之后,进行审核,将审核的结果发回业务方【注意这里会变更 es 库中的审核状态,审核人等信息,图中并未标明】
多数据格式的问题
注: 下面所有的数据操作都只以 es 为例
通过简化版本的审核系统介绍,大概