前言
[可选,用于总体上描述本篇文档的内容和目的]
[样例:本文是游戏业务线消息队列中间件详细架构设计文档,用于指导消息队列后续的开发、测试和运维]
词汇表
[可选,用于明确定义和说明一些英文缩写、术语等,请用表格来呈现,infoq 写作平台不支持表格,所以只能一个一个的列]
[样例:
Reactor: 网络编程模式
Netty: 开源的网络编程框架
]
1. 业务背景
[必选,从以下常见的角度来回答,你准备构建或者重构系统的目的和所处的位置是什么,可以是 1 个角度,也可以是多个角度,一般挑选重点的 3 个目的就差不多了:1.解决什么问题;2.带来什么价值;3.实现什么目标;4.完成什么任务;5.处于什么地位。
]
[样例:
随着前浪微博业务的不断发展,业务上拆分的子系统越来越多,目前系统间的调用都是同步调用,由此带来几个明显的系统问题:
- 性能问题:当用户发布了一条微博后,微博发布子系统需要同步调用“统计子系统”“审核子系统”“奖励子系统”等共 8 个子系统,性能很低。
- 耦合问题:当新增一个子系统时,例如如果要增加“广告子系统”,那么广告子系统需要开发新的接口给微博发布子系统调用。
- 效率问题:每个子系统提供的接口参数和