1.9 微服务不只是编写代码
尽管构建单个微服务的概念很容易理解,但运行和支持健壮的微服务应用程序(尤其在云中运行)不只是涉及为服务编写代码。
编写健壮的服务需要考虑几个主题
图 1-7 提及的要点
- 大小适当 —— 确保正确地划分微服务大小,以避免微服务承担太多的职责
- 位置透明 —— 多个服务实例可以快速启动和关闭时,管理服务调用的物理细节。
- 有弹性 —— 绕过失败的服务,确保采取“快速失败”的方法来保护微服务消费者和应用程序的整体完整性。
- 可重复 —— 确保提供的每个新服务实例与生产环境中的所有其他服务实例具有相同的配置和代码库
- 可伸缩 —— 使用异步处理和事件来最小化服务之间的直接依赖关系。
本书涵盖一下 6 类微服务模式
- 核心微服务开发模式
- 微服务路由模式
- 微服务客户端弹性模式
- 微服务安全模式
- 微服务日志记录和跟踪模式
- 微服务构建和部署模式
1.9.1 核心微服务开发模式
核心微服务开发模式解决了构建微服务的基础问题。
(1)服务粒度 —— 服务粒度过于粗粒度,在不同的业务问题领域重叠,会使服务随着时间的推移变得难以维护。服务职责过于细粒度,则会使应用程序的整体复杂性增加,并将服务变为无逻辑的(除了访问数据存储所需的逻辑)“哑”数据抽象层。
&