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

Rest 微服务与独立的服务有何不同?,rest,architecture,microservices,Rest,Architecture,Microservices,我想了解微服务与创建独立的服务(如REST或SOAP)有何区别 例如,我必须为我的Webapp创建一个许可证系统。这可以是一个单独的REST服务,可以由Webapp使用。它仍然可以调整、放大/缩小,与我的Webapp隔离 为什么它需要一个微服务 每种方法的优缺点是什么 微服务只是一个流行语,人们在称之为微服务之前一直在实践这种架构风格。以下是微服务的常见属性。如果您的服务满足这些要求,您很可能会将其称为微服务: 独立开发团队的独立生命周期(开发、测试、部署等)(利用您的优势) 聚焦范围-只实现一

我想了解微服务与创建独立的服务(如RESTSOAP)有何区别

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

  • 为什么它需要一个微服务

  • 每种方法的优缺点是什么


  • 微服务只是一个流行语,人们在称之为微服务之前一直在实践这种架构风格。以下是微服务的常见属性。如果您的服务满足这些要求,您很可能会将其称为微服务:

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

    如果您只是一个开发人员或刚开始的小团队,那么不遵循这些实践的缺点可能不相关。但是,如果您有一个大型的开发组织,那么您将开始遭受瘫痪,这可能会显著减慢开发和发布周期


    要获得更详细的理解,我建议阅读。特别是。

    另一个重要的一点是,您希望避免“服务”(SOAP/REST)之间的同步通信,如果其中一个服务没有响应,您将最终导致错误,使用队列引入异步通信有助于“服务”之间的通信