什么是微服务架构?

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

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

如何使用 Google Cloud 创建微服务架构

微服务架构的定义

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

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

单体式架构与微服务架构

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

  • 可扩缩性更高:各个微服务可根据其具体需求独立扩缩。
  • 弹性增强:某个微服务出现故障时,未必会影响整个应用。
  • 云成本优化:传统微服务可能会增加基础设施的复杂性和隐形成本。组织通常会采用 FinOps 方法和微服务,以便了解云支出情况,并确保各个服务能够高效扩缩,而不会超出预算。

行业示例

  • 电子商务:平台使用微服务独立管理商品清单、购物车和订单处理
  • 在线媒体服务:微服务处理视频编码、内容传送和商品推荐引擎,同时为数百万用户提供服务
  • 金融服务:金融机构使用微服务进行欺诈检测和付款处理,以便快速响应市场变化和安全要求

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

通常,微服务可用于加快应用开发速度。常见的微服务架构示例包括:

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

随着组织转向智能体云环境,微服务将成为智能体工作流的支柱。通过将 AI 驱动的任务分解为独立服务,开发者可以创建模块化智能体,在安全、可扩缩的架构中执行特定功能,例如数据检索、推理或执行。

微服务设计模式

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

可观测性:监控分布式系统

可观测性对于微服务至关重要,因为跨数十个独立服务跟踪单个请求非常复杂。现代团队会结合使用指标、日志和跟踪记录来了解系统运行状况。Gemini Cloud Assist 等 AI 赋能的工具可以自动识别异常并为分布式应用提供情境化问题排查,从而进一步增强可观测性。

幂等性:确保可靠性

在分布式微服务环境中,网络故障可能会导致请求重试。幂等性是一项核心设计原则:它保证操作即使执行多次,也会产生与首次执行时相同的结果。这对于在付款处理、订单管理和事件驱动型系统中保持数据一致性至关重要。

事件驱动型架构 (EDA)

现代架构越来越倾向于使用事件进行异步通信。在 EDA 中,服务将事件(状态变化)发布到消息代理,其他服务订阅这些事件。这种方式促进了更松散的耦合和更强的故障隔离性。

利用 Google Cloud 解决业务难题

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

迈出下一步

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

Google Cloud