Logo
Section 1 / 2

简介

在本节课中,我们将快速了解本课程的概要。

导入

简介

在本节课中,我们将快速了解本课程的概要。

为什么需要这门课程?

微服务是当前最重要的软件架构趋势之一。市面上已经有许多关于微服务的详细指南,包括本课程作者撰写的 microservices-book。那么,我们为何还需要另一门关于微服务的课程呢?

定义一个架构是一回事,真正实现它则是另一回事。本课程重点介绍实现微服务所用的技术,并深入剖析这些技术的优势与局限。

本课程的核心聚焦于整个微服务系统层面的技术选择。每个独立的微服务可以使用不同的技术来实现。因此,单个微服务所采用的框架决策,远不如整个系统架构层面的技术决策重要。对于单个微服务而言,更换框架相对容易;但一旦确定了系统级的技术方案,后期更改将非常困难。

与 microservices-book 相比,本课程更侧重于技术实现。我们另有一门课程名为 《微服务原理与概念导论》,专门探讨微服务的架构设计及其优缺点。

基本原则

要理解微服务,首先必须了解基于微服务的架构及其优势、劣势和不同变体。

《微服务原理与概念导论》 课程讲解了理解实际应用实现所必需的基本原理。

核心概念

微服务面临诸多挑战,需要相应的解决方案。这些挑战主要体现在两个方面:集成(前端集成、同步与异步微服务通信)和运维(监控、日志分析、链路追踪)。像 PaaS 或 Kubernetes 这样的微服务平台,为微服务的运维提供了全面的解决方案。

技术“配方”

本课程以“配方”作为比喻,来描述可用于实现各种概念的具体技术。每种技术方法都与烹饪配方有相似之处:

  • 每个“配方”都以实践为导向进行说明,并包含具体的技术实现示例。示例最注重的是简洁性,便于理解、扩展和修改。
  • 课程提供大量“配方”,读者需根据自身项目需求从中选择合适的方案,就像厨师为菜单挑选菜谱一样。由于实际中每个项目都有其特殊性,因此课程展示了多种可选方案,这些“配方”构成了技术选型的基础。
  • 每个“配方”都存在变体。正如同一道菜可以用不同方式烹饪,课程中的技术也可以有不同的实现方式。部分变体非常简单,可直接在可运行的示例中尝试。

每个“配方”都配有基于具体技术的可执行示例。这些示例相互独立,可单独运行。读者可专注于对自己有用的内容,跳过不相关的部分。这种方式使学习者能够快速掌握相关技术的整体概貌,并据此选择合适的技术栈。之后,读者还可通过课程提供的参考资料进一步深入学习。

源代码

本课程介绍的几乎所有技术都提供了示例代码。如果希望真正理解这些技术,建议读者仔细阅读代码。查看代码也有助于理解各项概念是如何在实践中落地实现的。


接下来,我们将简要介绍本课程的结构。

课程结构