微服务拆分参考原则列表

在微服务的设计过程中,微服务设计有多大,微服务粒度的把控,一直是设计人员需要考虑和设计的难点。

因为服务粒度设计过大,不能得到微服务架构带来的便利,例如:更加敏态的开发,更频繁的版本发布,由于服务功能划分的小,可以根据实际的业务场景,选择更加合适的技术进行代码重构等等。

但同时我们也要注意,不是服务越”微“越好,因为服务的过度拆分会使架构的设计复杂度大大提升,同时也会大大提升运维和测试的复杂度等。

所以对服务拆分粒度的把控,对设计人员来讲就至关重要了,甚至对项目的成败有非常重要的影响。

这篇文档提供了一些主要的微服务拆分原则,供您参考,来帮助您进行更加合理粒度的微服务设计。

 

微服务的拆分原则 - 通用

编号原则说明
原则1

基于业务分析拆分

基于TOGAFADA

原则2基于DDD领域驱动设计中的子域设计拆分

基于领域驱动设计

原则3

根据动作和用例拆分

比如支付

原则4

根据名词或者资源拆

比如账号

原则5

架构稳定

拆分的结构稳定, 不会经常修改

原则6

服务是可测试的

集成测试要可定义,测试可回溯

原则7

单一原则

一个服务做一个业务, 自己治理自己的数据库

原则8

开闭原则

面向对象理论, 对扩展开放, 对修改关闭

原则9

高内聚

强一致,强依赖关系的放在一起, 减少分布式事务

原则10

松耦合

服务间互相独立

原则11

足够小的团队可维护,最大两个pizza team

6-10人一个pizza team

原则12

团队自治,自己的服务的开发和发布要跟别的团队尽可能小的协调

 

微服务的拆分原则 - 技术侧重点

编号原则说明
原则1

潜在风险

服务的风险性

原则2

资源性能

  • 计算性能
  • 硬盘性能
  • 内存容量
  • 网络带宽

机器的性能决定了方案的部分选择

原则3

安全

安全要求是否很高,安全的策略

原则4

高并发

  • 瞬时并发
  • 持续并发

并发的种类, 持续的时间

原则5

数据库

  • 数据量大小
  • 读操作
  • 写操作
  • 数据类型

数据的类型, 读写的多少,数据量

微服务的拆分原则 - 项目侧重点

编号原则说明
原则1

价格

预算,人力成本

原则2

时间

项目的紧急程度, 时间的长短

原则3

人员结构, 成员素质, 技术积累

 

----------------------------------
大家好,我是流水,一个资深的IT从业人员和架构师. 非常高兴您能搜索到,并看到这篇文章,希望这篇文章的内容能给您带来新的知识和帮助。

也欢迎扫描以下的二维码或微信搜索 “superxtech”,关注我的微信公众号 , 我会把更多更好的IT领域技术知识带给您!

----------------------------------

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LarryHai6

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值