创建微服务
616 页
Chinese
PDF
4.5

创建微服务

创建微服务

作者:

年份:

简介:

引言

Sam Newman 所著的《Building Microservices》(中文译本名为《创建微服务》)或许是关于微服务架构设计与实现最权威、最全面的著作。2021年出版的第二版已根据现代实际情况进行了全面修订,涵盖了容器化、编排、无服务器计算以及云技术的演进。尽管书中的示例是用 Java 编写的,但其概念和模式具有通用性,适用于包括 Python 在内的任何语言。

本书内容

Newman 循序渐进地揭示了从单体架构到微服务的演进路径,并未回避复杂主题:如何分解系统、组织服务间通信(通过 REST/gRPC 的同步通信和通过消息队列的异步通信)、确保可观测性(日志记录、指标、链路追踪)、安全性以及测试。独立章节专门介绍了 CI/CD、容器化(Docker)和编排(Kubernetes),以及迁移策略。本书包含大量真实案例和反模式,有助于避免常见错误。

本书适合哪些读者

本书对以下人群非常有用:

  • 软件架构师,希望设计可扩展且高可用的系统。
  • 后端开发人员(Java、Python、Go 等),希望掌握微服务方法。
  • DevOps 工程师,负责分布式系统的部署和运维。
  • 团队领导和技术主管,需要做出从单体架构迁移到微服务的决策。

读者将学到什么

  • 如何正确地将单体应用拆分为微服务。
  • 为服务间通信选择哪些协议和数据格式。
  • 如何组织分布式链路追踪和监控。
  • 如何测试微服务(集成测试、契约测试、端到端测试)。
  • 如何配置 CI/CD 流水线以实现频繁且安全的发布。
  • 如何使用 Docker 和 Kubernetes 管理容器。
  • 从单体架构迁移到微服务有哪些策略(绞杀者模式、通过抽象分支)。
  • 如何在分布式环境中确保安全(OAuth2、JWT、API 网关)。

优势

本书的主要优点是其实用性。Newman 不仅列举了模式,还解释了它们在哪些情况下适用,哪些情况下不适用。本书语言生动,复杂概念通过图表和代码示例加以说明。尤其宝贵的是,作者不仅关注技术方面,还关注组织方面(康威定律、DevOps 文化)。第二版新增了关于无服务器计算、依赖图以及架构演进的章节。

推荐给谁

所有从事分布式系统工作或计划迁移到微服务的人,都应将本书作为必读书目。它既适合初学者(得益于循序渐进的介绍),也适合经验丰富的专业人士(关于可观测性和 CI/CD 的深入章节)。如果您使用 Python,Java 示例不会成为障碍——所有概念都可以轻松迁移到 FastAPI、Flask、Celery 和 Kubernetes。我们建议将《Building Microservices》作为案头参考书常备手边。

推荐