什么是微服务架构?

微服务架构(通常简称为微服务)是指开发应用所用的一种架构形式。通过微服务,可将大型应用分解成多个较小的独立部分,其中每个部分都有各自的责任领域。在处理一个用户请求时,基于微服务的应用可能会调用许多内部微服务来共同生成其响应。

容器是微服务架构的绝佳示例,因为它们可让您专注于开发服务,而无需担心依赖项。无服务器计算是另一种常见方案,它使团队无需管理服务器或基础设施即可运行微服务,并能根据需求自动扩缩函数。

了解 Google Kubernetes Engine (GKE)Cloud Run 如何帮助您使用容器创建基于微服务的应用。

准备好开始了吗?新客户可获得 $300 赠金,用于抵扣 Google Cloud 的费用。

详细了解微服务架构
详细了解微服务架构

微服务架构的定义

微服务架构是一种应用架构类型,其中应用会开发为一系列服务。它提供了独立开发、部署和维护微服务架构图和服务的框架。

在微服务架构中,每个微服务都是独立的服务,旨在适应应用功能并处理离散的任务。每个微服务都通过简单的接口与其他服务通信,以解决业务问题。

单体式架构与微服务架构

传统的单体式应用作为一个整体构建,结构集中统一。所有组件紧密耦合,共享资源和数据。这种结构可能在扩缩、部署和维护应用时带来挑战,尤其是应用变得更复杂时。相比之下,微服务架构将应用拆解为一组小型、独立的服务。每个微服务都是自包含的,拥有独立的代码、数据和依赖项。这种方法具有以下几项潜在优势:

  • 可扩缩性更高:各个微服务可根据其具体需求独立扩缩
  • 敏捷性更强:微服务可独立开发、部署与更新,从而加快发布节奏
  • 弹性增强:某个微服务出现故障时,未必会影响整个应用
  • 技术多样性:微服务的灵活性使团队能够为每项服务采用最合适的技术

对于尚未达到需要完全分布式微服务架构规模或复杂度的应用而言,“模块化单体式应用”是一个极具价值的选择方案。该方案保持单一应用部署单元(单体式应用),但严格遵循业务领域将代码库拆分为高内聚、低耦合的内部模块。这样,组织既可以享受微服务带来的好处(边界清晰、独立开发),又无需承担管理分布式系统的全部开销。

行业示例

各行各业的众多组织已采用微服务架构,以应对特定业务挑战并推动创新。以下是几个例子:

  • 电子商务:许多电商平台通过微服务管理各类运营模块,例如商品清单、购物车、订单处理和客户账户。这有助于他们根据需求扩缩单个服务、提供个性化的客户体验,以及快速部署新功能。
  • 流媒体服务:流媒体平台通常借助微服务处理如视频编码、内容传送、用户身份验证和推荐引擎等任务。这帮助他们同时向数百万用户稳定传输高质量流媒体内容。
  • 金融服务:金融机构借助微服务管理欺诈检测、支付处理、风险控制等多个核心运营环节。这使他们能够快速应对不断变化的市场状况,提升安全防护,并满足合规要求。

微服务架构的用途有哪些?

通常,微服务可用于加快应用开发速度。使用 Java 构建的微服务架构非常常见,尤其是 Spring Boot 架构。比较微服务与面向服务的架构也很常见。它们具有相同的目标,即将单体式应用分解为更小的组件,但这些架构所用的具体方法不同。以下是一些微服务架构示例:

网站迁移

托管在单体式平台上的复杂网站可以迁移到基于云和基于容器的微服务平台。

媒体内容

通过使用微服务架构,图片和视频资源可以存储在可扩缩的对象存储系统中,并直接提供给 Web 或移动设备。

交易信息和账单

付款处理和订单可分离开来,各自作为独立的服务单元,这样即便账单服务无法正常工作,也能正常接收付款。

数据处理

微服务平台可以扩展对现有模块化数据处理服务的云支持。

利用 Google Cloud 解决业务难题

新客户可获得 $300 赠金,用于抵扣 Google Cloud 的费用。
与 Google Cloud 销售专员联系,详细讨论您面临的独特挑战。

微服务设计模式

为应对分布式系统的复杂性并优化其性能,架构师如今主要依赖若干核心设计模式。

服务网格

  • 服务网格是用于处理服务间通信的专用基础设施层
  • 它通常利用与每个微服务容器一起部署的边车代理(如 Istio 或 Envoy)来管理流量
  • 此模式提供弹性(例如重试和断路)、安全性(mTLS 身份验证)和可观测性(详细跟踪和指标)等关键功能,而无需更改服务代码本身

事件驱动型架构 (EDA)

  • 虽然传统的微服务通常通过 REST API 进行同步通信,但现代架构越来越倾向于使用事件进行异步通信
  • 在 EDA 中,服务会将事件(状态变化)发布到消息代理(如 Google Cloud Pub/Sub),其他服务则订阅这些事件
  • 这种方式促进了更松散的耦合、更好的实时响应能力以及更强的故障隔离性,因为服务之间无需直接感知彼此的存在

迈出下一步

获享 $300 赠金以及 20 多种提供“始终免费”用量的产品,开始在 Google Cloud 上构建项目。