只有 1% 的人需要微服务 - qe-unit


年收入 20 亿美元的规模才有充分理由采用微服务架构,其他规模则可采用:
单体式架构演化为基于服务的模块化单体式架构,然后演化为宏服务、迷你服务、微服务。

什么是微服务架构?
微服务架构就像沙漠中的一粒沙子,虽然很小,但聚集在一起却变得更大。
微服务的关键特征是:

  • 小而集中
  • 执行狭窄的功能
  • 只操作它需要的数据
  • 在服务层上进行协作
  • 通常反应性
  • 数据按比例解耦。

但他们有权衡:

  • 业务流程更难映射
  • 服务协作很难
  • 数据状态难以协调
  • 集成要复杂得多
  • 自动化成本更高
  • 复杂性更难控制
  • 可观察性是一个挑战。

减少这些权衡需要一种渐进的方法来使事情变得更小,同时处理分发的额外复杂性。
对于我们大多数人来说,当公司的年收入仍然不到 20 亿美元时,就不需要微服务的特性了。

对 50 多家公司的研究揭示了以下宏观模型:

  1. 单体Monolith:10 个 FTE 的收入为 0-200 万美元。
  2. 模块化单体:2-2000 万美元的收入,最多 50 个 FTE
  3. 基于服务:20-2 亿美元的收入,最多 500 个 FTE
  4. 从宏观到迷你服务:2 亿美元至 20 亿美元的收入高达 5000 FTE
  5. 迷你到微服务:超过 5000 个 FTE 的收入 >b。

分析还显示,声称要实施微服务的公司实际上是在实施基于服务或宏服务的架构。
关键的技术差异在于服务的粒度更高,服务之间共享数据而不是外部解耦。

因此,首先要为您的业务做出正确的选择,同时“模块化单体”和“最小架构”再次成为主流。