微服务概念应用全解析
1. 微服务概述
微服务是构建轻量级、模块化、可扩展和分布式系统的理想选择,但如果构思不当,也可能带来灾难。错误的微服务解读可能导致不可挽回的失败。在开发微服务时,选择合适的用例至关重要,同时进行适当的权衡分析以做出正确的设计决策也同样重要。
2. 确定微服务边界
2.1 领域驱动设计(DDD)与有界上下文
领域驱动设计(DDD)定义了有界上下文的概念。有界上下文是较大领域或系统的子域或子系统,负责执行特定功能。例如,在金融后台办公室系统中,发票、会计、计费等代表不同的有界上下文,这些有界上下文是与业务能力紧密相关的强隔离域。
有界上下文是确定微服务边界的好方法,每个有界上下文可以映射到一个微服务。然而,现实世界的组织边界并不总是能准确提供服务边界,因为组织架构可能存在固有问题。此时,自上而下的领域分解可能是另一种建立正确有界上下文的方法。
2.2 确定微服务边界的场景
以下是一些有助于定义微服务边界的场景:
- 自主功能 :如果所审查的功能本质上是自主的,那么它可以作为微服务的边界。自主服务通常对外部功能的依赖较少,例如加密引擎、通知引擎、接受订单并处理的交付服务、基于缓存座位信息的在线航班搜索等。
- 可部署单元的大小 :大多数微服务生态系统会利用自动化,如自动集成、交付、部署和扩展。涵盖更广泛功能的微服务会导致更大的部署单元,这会给自动文件复制、下载、部署和启动时间带来挑战。因此,一个好的微服务应确保其可部署单元的大小可控。
- 最合适的功
超级会员免费看
订阅专栏 解锁全文
169万+

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



