微服务与独立的独立服务有何不同?

时间:2018-02-06 23:45:15

标签: rest architecture microservices

我想了解一下,微服务与创建单独的独立服务(如 REST SOAP )有何不同。

例如,我必须为 Webapp 创建许可证系统。这可以是一个单独的REST服务,可以由 Webapp 使用。仍然可以调整,放大/缩小,与我的 Webapp 隔离,

  1. 为什么它需要成为微服务?

  2. 每种方法的优缺点是什么?

1 个答案:

答案 0 :(得分:1)

微服务只是一个流行语,在称之为微服务之前,人们一直在练习这种架构风格。以下是微服务的共同商定属性。如果您的服务符合这些要求,您可以将其称为微服务:

  1. 独立开发团队的独立生命周期(开发,测试,部署等)(利用Conway's Law为您提供优势)。
  2. 重点范围 - 实现一个特定的域方面,使其尽可能“微观”。 (关注点分离)
  3. 明确定义与外界的界面。通常只更改版本化和淘汰时间框架。
  4. 可扩展的设计。通常是无状态的,以允许部署应用程序集群。
  5. 不共享数据库/持久性。这对于避免间接依赖非常重要。
  6. 此外,有些人喜欢包括实施自由技术,基础设施自动化和异步通信等内容。

    如果您只是一个开发人员或小团队,那么不遵循这些做法的缺点可能就不那么重要了。但是,如果你有一个庞大的开发组织,你将开始受到严重的"monolithis"-disease的影响,这可能会显着减缓开发和发布周期。

    为了更详细的了解,我建议您阅读Martin Fowler material。特别是section about trade-offs