Day17 微服务拆分
2024-12-15 本文已影响0人
小周爱吃瓜
单体->微服务
交付速度,可用性,技术栈选择,可重用性,可扩展性,一致性成本提高,远程调用。运维复杂度.
通用原则
- 高内聚低耦合
- 闭包(需要改变一个服务的时候,依赖都在组件内,不需要修改其他服务)
- 服务自治,接口隔离
- 持续演进原则
- 拆分过程演练(比如服务短信),从非核心业务出发,试错
- 服务接口要拆成可扩展性
- 避免环形依赖,双向依赖
- 阶段性的合并或者拆分服务
拆分策略
- 数据驱动 确定表数据结构,表之间的关系拆分服务
- 领域驱动 业务边界上下文
Screenshot 2024-12-16 at 23.35.56.png
扩展性,复用性(鉴权,限流,安全,日志监控),高性能(比如高性能,排队,详情),
安全性,异构性。
Screenshot 2024-12-16 at 23.38.20.png
ELK:
logstash 可以解析出traceId
SkyWalking和ELk整合后,可以通过traceId,查看是什么链路出了问题