从设计方面来保证分布式微服务达到高可用、高性能、高扩展、高稳定的要求
1.数据模型、库表设计
2.整体架构设计(模块的整体架构、内部外部交互机制等)
3.核心流程设计(流程图、时序图、状态图)
4.api设计
5.单元化相关设计(跨机房跨地域)
6.容错设计(业务兜底机制、task自动重跑、续跑)
7.隔离设计(核心和非核心业务隔离、系统功能隔离、task和http请求隔离)
8.兼容设计(修改核心业务应该考虑是否兼容以往业务、是否兼容库表、是否兼容依赖方)
9.大规模存储设计(自动归档、分库分表)
10.可横向扩展设计(任务分片、kafka等组件分区)
11.幂等设计(http请求、定时任务、消息消费等)
12.监控设计(系统、业务监控)
13.安全设计(敏感字段、水平垂直越权问题、轰炸问题、组件、中间件加密密钥valut)
14.降级、熔断、限流设计
15.缓存设计
16.一致性设计
17.高可用、高性能、高扩展、高稳定(低延迟、高吞吐量、QPS、TPS)设计
18.最后当然得是业务和功能设计
这里如果是扩展到了单元化架构(gzone、rzone、czone)应该还要考虑跨机房跨地域后的相关设计
- [ 萱儿AXW ]