软件架构模式与微服务基础解析
1. 常见软件架构模式
在软件架构设计中,存在多种架构模式,各有其特点和适用场景。
- ESB 与 SOA 架构
- 在一些银行架构示例中,企业服务总线(ESB)处于核心位置。ESB 负责业务流程编排、业务数据转换、消息格式更改或提供与协议无关的传输。
- 虽然可以构建不依赖 ESB 的面向服务架构(SOA),但这样服务之间会直接依赖,导致紧密耦合且缺乏抽象。
- SOA 架构实施和测试并不简单,但具有很高的可扩展性。不过,实施 SOA 的成本较高,因为需要依赖第三方软件来使用 ESB,而且可能并非需要 ESB 的所有功能。此外,ESB 可能成为单点故障。
- 微服务架构模式
- 微服务架构模式提倡在有限的上下文中使用较小的服务。它是一种分布式架构,与 SOA 有相似之处,但也有区别。
- 在微服务架构中,服务粒度细,专注于特定目的。应用程序被拆分为松散耦合的小型自包含组件,即服务。每个服务在一个进程中运行,必要时以协议感知的同步或异步方式与其他服务连接。
- 以酒店行业为例,应用程序不再是一个处理整个预订过程的单体应用,而是被划分为多个特定领域的服务,如酒店信息服务、费率信息服务、库存服务和预订服务等。每个服务都有其边界上下文,提供特定的业务功能,并通过 API 层与其他服务和外部请求者交互。
- 微服务架构的优点包括敏捷性和可扩展性,便于单独开发和测试服务。但也存在性能方面的潜在问题,如服务间通信的延迟,以及网络相关的挑战,同时架构可能会增加复杂性。
- 基于服务的架构模式
超级会员免费看
订阅专栏 解锁全文
170万+

被折叠的 条评论
为什么被折叠?



