云原生时代的微服务
1. 微服务概述
如今,微服务架构几乎已成为所有公司和团队构建应用程序的首选。经过多年的发展,它正变得越来越成熟。即使有些团队目前尚未使用微服务,他们也计划采用。然而,近年来随着云原生技术和生态系统的迅速普及,传统的微服务应用正在发生变化。如何基于云原生构建微服务应用已成为开发者面临的主要技术挑战。
2012 年,“微服务”一词首次公开出现。如果将这一年视为微服务的元年,那么至今已有十余年。对于微服务架构,每个人都有不同的理解,我们倾向于认同软件工程大师 Martin Fowler 给出的更权威的定义:
简而言之,微服务架构风格是一种将单个应用程序开发为一组小服务的方法,每个服务在自己的进程中运行,并通过轻量级机制(通常是 HTTP 资源 API)进行通信。这些服务围绕业务能力构建,并可通过全自动部署机制独立部署。对这些服务的集中管理极少,它们可以用不同的编程语言编写,并使用不同的数据存储技术。
微服务架构为软件开发提供了一种新的思维方式,更适合需求频繁变化和产品快速迭代的业务场景。独立的服务为每个开发阶段(如构建、测试和部署)带来了更大的灵活性,还通过更细粒度的扩展机制降低了应用程序的系统资源成本。当然,软件开发的“万灵药”尚未出现,微服务架构也并非万能,它有优点也有缺点。下面我们来看看它的关键特性。
1.1 微服务架构的特性
Martin Fowler 在他的文章中列出了微服务架构的一系列特性,我认为以下几点最具代表性:
1.1.1 通过服务进行组件化
解耦一直是软件开发追求的目标。即使单体应用在逻辑上是一个整体结构,通常也会根据其功能拆分为不同的模
超级会员免费看
订阅专栏 解锁全文
1287

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



