Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

服务架构演进

分层架构

分层架构模式(Layered Architecture Pattern)是架构模式中最常见的架构模式之一,也称为 n 层架构模式,分层架构模式中的组件被组织成水平层,每个层在应用程序中执行特定的角色(例如,表示逻辑或业务逻辑)。尽管分层架构模式没有指定模式中必须存在的层的数量和类型,但大多数分层架构都包含四个标准层:表示层、业务层、持久层和数据库层。

分层架构特征:

  • 整体敏捷性低
  • 部署成本低
  • 可测试性高
  • 性能低
  • 扩展性低
  • 开发成本低

事件驱动架构

事件驱动架构模式(Event-Driven Architecture Pattern)是一种流行的分布式异步架构模式,用于生成高度可扩展的应用程序。它还具有很强的适应性,既可用于小型应用程序,也可用于大型、复杂的应用程序。事件驱动架构由高度分离的、单一用途的事件处理组件组成,这些组件异步接收和处理事件。

事件驱动架构模式由两个主要拓扑结构组成,中介者和代理。

Event-driven architecture

事件驱动架构特征:

  • 整体敏捷性高
  • 部署升本高
  • 可测试性低
  • 性能高
  • 可扩展性高
  • 开发成本低

微服务架构

微服务架构模式(Microservices Architecture Pattern)是一种软件架构风格,它是以专注于单一责任与功能的小型功能区块 (Small Building Blocks) 为基础,利用模块化的方式组合出复杂的大型应用程序,各功能区块使用与语言无关 (Language-Independent/Language agnostic)的API集相互通信。

Basic Microservices architecture pattern

最重要概念可能是服务组件的概念。服务组件的粒度可以从单个模块到应用程序的大部分。服务组件包含一个或多个模块(例如 Java 类),这些模块代表单一用途功能(例如,提供特定城市或城镇的天气)或大型业务应用程序的独立部分(例如,股票交易配售或确定汽车保险费率)。设计正确级别的服务组件粒度是微服务架构中最大的挑战之一。

由于主要的应用程序组件被拆分成更小的、单独部署的单元,使用微服务架构模式构建的应用程序通常更健壮,提供更好的可扩展性,并且可以更轻松地支持持续交付。

特征:

  • 整体敏捷性高
  • 部署成本高
  • 可测试性高
  • 性能低
  • 可扩展性高
  • 开发成本高

微服务中最重要的就是每个服务的独立与自主,因此服务与服务之间也不应该有所沟通。倘若真有沟通,也应采用异步沟通的方式来避免紧密的相依性问题。

评论