让我们构建吧!设计微服务架构 架构博客
  • 34

微服务架构设计入门

关键要点

在这篇文章中,我们探讨了微服务架构的挑战与解决方案,着重于通信、可发现性和架构模式等方面。此外,我们还分析了如何在无服务器微服务中有效地应用这些理念。

tk加速器官网入口

在2022年,我们发布了《让我们架构!使用容器构建微服务》。这篇文章探讨了集成模式和使用容器实现微服务的一些方法。本篇《让我们架构!》将深入研究微服务,聚焦软件架构师和工程师在处理大型分布式系统时所面临的主要挑战,这些系统是由一组独立服务构成的。

在微服务这样一个广泛的主题下,我们需要考虑很多细节,包括组织结构、自动化管道、多账户策略、测试、通信等。本文将深入分析可通过 Amazon VPC Lattice 实现的发现性和连接选项;随后,我们将关注通信的架构模式,特别是异步通信的应用,因为它非常适合微服务的范式。最后,我们将探讨如何运用无服务器微服务,并分析一个来自 Amazon Builder’s Library 的案例研究。

AWS Kubernetes日

现代应用程序通常采用微服务分布式方法构建,这种方法将应用程序分解为更小、更专业化的服务。每个服务都实现自己的功能或业务逻辑的子集。为了便于这些服务之间的通信,必须有一种授权、路由和监控网络流量的方法。同时,在出现问题时,能够识别问题的根本原因也至关重要,这可能涉及应用、服务或网络层面。

Amazon VPC Lattice 提供了一种一致的方式来连接、保护和监控实例、容器和无服务器功能之间的通信。使用 Amazon VPC Lattice,您可以定义流量管理、网络访问、高级路由的策略,同时监控复杂应用程序中流量的实时动态。

查看此视频!

微服务的应用集成模式

松耦合集成可以帮助您设计独立系统,使其可以单独开发和操作,同时增加整体系统的可用性和可靠性,特别是使用异步通信。虽然有很多集成和对话场景的各种方法,但在特定情况下,最佳的方法并不总是显而易见。

加入此 reInvent 2022 会议,了解集成和对话场景的基础模式,重点关注松耦合与异步通信。探索采用云原生和无服务器服务构建的真实案例,并获得选择集成技术的指导。

查看此 reInvent 2022 视频!

无服务器微服务成功设计模式

软件工程师喜欢模式经过验证的方法来解决已知问题,使软件开发更简单,并为项目成功奠定基础。在微服务等复杂的分布式系统中,CQRS 和事件源等模式帮助解耦和扩展系统。

该视频的第一部分重点介绍架构模式及其应用,而第二部分包含了一系列来自 AWS 控制台的演示和示例。在本次会议中,我们将探讨构建可靠和高性能无服务器微服务的一些典型模式,以及数据访问模式如何驱动多语言持久性。

查看此 AWS Summit 视频!

通过将较小服务置于控制之中来避免分布式系统的过载

如果我们不注意服务与其客户的相对规模,微服务的分布式系统可能面临过载风险。许多 AWS 服务采用的常见架构模式是将系统分为控制平面和数据平面。

本文深入探讨此场景,以了解当数据平面集群的规模超过控制平面集群100倍或更多时可能发生的情况。在基于微服务的架构中,当服务 X 从故障中恢复并开始向服务 Y 发送大量请求时,就会发生这种情况。如果没有仔细的调优,这种行为的转变可能会压垮较小的被调用方。通过该资源,我们希望分享一些适用于分布式系统和正在研究微服务架构的团队的思维模型和设计策略。

查看 Amazon Builders’ Library!

下次再见!

感谢您的光临!两周后再见,我们将讨论多租户和 SaaS 在 AWS 上的模式。

要找到此系列的所有博客,可以查看 让我们架构! 在 AWS 体系结构博客 上的内容列表。

标签

架构、事件驱动架构、让我们架构、微服务、reInvent、无服务器

让我们构建吧!设计微服务架构 架构博客

作者介绍

Luca Mezzalira

Luca 是一位驻伦敦的首席解决方案架构师,曾著作多本书籍,并在国际上演讲。他主要在解决方案架构领域提供专业知识,因为他在微前端架构方面革新了前端架构的可扩展性,从提高工作效率到保证产品质量,获得了认可。

Federica Ciuffo

Federica 是亚马逊网络服务的解决方案架构师,擅长容器服务,热衷于使用代码构建基础设施。工作之余,她喜欢阅读、绘画,并与朋友一起在餐厅尝试不同的美食。

Laura Hyatt

Laura Hyatt 是 AWS 公共部门的解决方案架构师,帮助英国的教育客户。她帮助客户不仅在架构和开发可扩展解决方案方面,还在处理当前教育行业面临的创新解决方案方面提供思路。Laura 专注于物联网,并且是 EMEA 教育项目的 Alexa 主题专家。

Vittorio Denti

Vittorio Denti 是一名驻伦敦的机器学习工程师,完成了米兰理工大学和瑞典皇家理工学院的计算机科学与工程硕士学位后加入 AWS。Vittorio 在分布式系统和机器学习领域有背景,特别热衷于软件工程及机器学习领域的最新创新。

Zamira Jaupaj

Zamira 是一名驻荷兰的企业解决方案架构师,对 IT 行业充满热情,拥有超过 10 年的多国经验,在小型和大型企业中设计和实施复杂且关键的容器、无服务器和数据分析解决方案。