构建可复用的微服务框架
在当今的软件开发领域,微服务架构已经成为了一种流行的架构模式。随着组织对微服务的全面采用和团队数量的增加,每个团队可能会开始专注于特定的编程语言和工具集。然而,这种多样性可能会给工程师在不同团队之间的流动带来挑战,同时也可能导致代码结构和服务设置的不一致。为了解决这些问题,构建一个可复用的微服务框架是非常有必要的。
1. 微服务底盘的概念
当一个组织采用微服务架构时,不同团队可能会使用不同的编程语言和工具来实现相同的功能。例如,一个组织有八个工程团队,每个团队有四名工程师,其中一名工程师负责用 Python、Java 或 C# 启动一个新服务。这些主流语言都有大量可用的库,从 HTTP 客户端到日志库,选择非常丰富。因此,两个选择相同语言的团队最终使用相同库组合的可能性非常小。
为了让团队更容易创建新服务,提供一个基本结构和经过验证的工具集是很有价值的。这个结构应该符合组织关于可观测性和基础设施相关代码抽象的标准,并反映组织关于服务间通信的架构选择。例如,如果组织倾向于服务间的异步通信,那么应该提供使用现有事件总线基础设施所需的库。
微服务底盘的目的是让服务的创建更加容易,同时确保所有服务都遵守一套标准,无论服务由哪个团队拥有。以下是拥有微服务底盘的一些优势:
- 便于团队成员入职 :可预测的代码结构和常用库将使团队成员更容易快速理解服务的实现。
- 更好地理解代码结构和技术栈 :有助于团队成员了解工程团队使用的技术栈的代码结构和关注点。
- 限制生产系统的实验范围 :随着团队积累共同知识,即使
超级会员免费看
订阅专栏 解锁全文
772

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



