Coursera 笔记

Module 01 · Introduction to Microservices

What are Microservices?什么是微服务

Coursera ↗


 学习目标

通过本节课程,你将能够:

✅ 描述 什么是微服务(Microservices)
✅ 解释 微服务架构的优势
✅ 理解 微服务的可扩展性原理


 什么是微服务架构?

微服务架构(Microservices Architecture) 是一种应用设计方法,将单一应用拆分为多个松耦合(Loosely Coupled)且可独立部署的小型服务。

每个微服务:

  • 🔹 拥有自己的技术栈(Technology Stack)
  • 🔹 拥有独立的数据库与数据管理模型
  • 🔹 通过 API 接口(如 REST API) 与其他服务通信

💡 各团队可根据自身职责与专长选择不同的编程语言和技术栈开发组件。


 微服务的组织方式

  • 微服务通常**按业务功能(Business Functionality)**划分。
  • 服务之间的界限称为 有界上下文(Bounded Context)。
  • 服务间通过以下方式进行通信:
    • 🌐 REST API 调用
    • ⚡ 事件流(Event Streaming)
    • 💬 消息代理(Message Broker)

 微服务的核心优势

优势类别 说明
🧩 独立性 每个服务独立开发、测试与部署,互不影响
⚙️ 灵活性 各团队可自由选择编程语言、数据库或框架
🛠️ 可维护性 仅更新相关服务代码即可添加新功能,无需修改整个应用
📈 可扩展性 服务可独立扩展,避免因单个模块高负载而扩容整个系统
🧱 容错性 单个服务故障不会影响其他服务运行
🔁 快速迭代 各服务可独立更新、发布,加快产品交付周期

 微服务的扩展方式

 水平扩展(Horizontal Scaling)

  • 指通过**增加服务实例(Scaling Out)**来应对更高的负载。
  • 各微服务可根据业务需求独立扩展,而非整体扩容整个系统。
  • ✅ 优点:精准扩展、节省成本、提高资源利用率。

 事件流与消息代理的作用

  • 在扩展微服务时,**事件流(Event Streaming)**可用于广播状态变化。
  • **消息代理(Message Broker)**帮助不同服务实时同步状态,提高系统响应速度。

例如:某一服务状态更新后,通过事件流将变更广播给其他相关服务,而无需频繁的 API 轮询。


 课程总结

你已经了解到:

✨ 微服务(Microservices)

  • 将应用划分为多个独立的功能模块,每个模块为一个服务
  • 各服务通过 API 通信,可使用不同技术栈
  • 支持 独立部署与扩展,按需水平扩容

💪 微服务的优势包括:

  • 减少变更风险(服务可独立演化)
  • 提升可维护性与开发效率
  • 降低资源浪费与扩展成本
  • 单个服务失败不会导致整个系统宕机

🚀 总结一句话:

微服务 = 独立性 × 可扩展性 × 高灵活度 💡
让大型系统开发更快、更稳、更智能!