微服务即学即用
Ronnie Mitra, Irakli Nadareishvili
王岩, 黄俊彬 译
出版时间:2022年03月
页数:328
微服务架构提供更快的更改速度,更好的可扩展性,更干净,可进化的系统设计。但是实现你的第一个微服务架构是困难的。你如何做出无数的选择,让你的团队了解所有的技术细节,并引导组织走向成功的执行,以最大限度地提高你的成功机会?在这本书中,本书作者为构建有效的微服务架构提供了一步一步的指导。
架构师和工程师将遵循基于已被证明适用微服务系统的技术和架构进行实现。你将构建一个操作模型、一个微服务设计、一个基础设施和两个正在工作的微服务,然后将这些部分放在一起作为一个实现。对于任何负责构建微服务或微服务架构的人来说,本书都是非常宝贵的。
● 学习有效和明确的端到端微服务系统设计。
● 定义团队、他们的职责以及共同工作的指导方针。
● 了解如何将大型应用程序分割成一组微服务。
● 研究如何将数据隔离并嵌入到相应的微服务中。
● 为基础架构更改构建一个简单但功能强大的CI/CD管道。
● 为示例微服务编写代码。
● 在Amazon上部署可正常工作的微服务应用程序Web服务。
  1. 前言
  2. 第1章 迈向微服务架构
  3. 1.1 微服务是什么?
  4. 1.2 降低协作成本
  5. 1.2.1 协作成本问题
  6. 1.2.2 艰难部分
  7. 1.3 从实践中学习
  8. 1.4 决策,决策
  9. 1.5 小结
  10. 第2章 微服务运作模式的设计
  11. 2.1 为什么团队和人员很重要
  12. 2.1.1 团队规模
  13. 2.1.2 团队技能
  14. 2.1.3 团队间协作
  15. 2.2 引入团队拓扑
  16. 2.2.1 团队类型
  17. 2.2.2 交互模式
  18. 2.3 设计一个微服务团队拓扑
  19. 2.3.1 建立系统设计团队
  20. 2.3.2 构建微服务团队模板
  21. 2.3.3 平台团队
  22. 2.3.4 赋能和复杂的子系统团队
  23. 2.3.5 消费者团队
  24. 2.3.6 小结
  25. 第3章 设计微服务:SEED(S)流程
  26. 3.1 介绍服务设计的七个基本演变:SEED(S)方法
  27. 3.2 确定参与者
  28. 3.3 确定参与者必须做的工作
  29. 3.3.1 使用工作故事描述格式来完成待完成工作(JTBDs)
  30. 3.3.2 我们的示例项目中的示例JTBD
  31. 3.4 用序列图发现交互模式
  32. 3.5 从JTBD派生操作和查询
  33. 3.6 将每个查询和操作描述为具有开放标准的规范
  34. 3.7 获得关于API规范的反馈
  35. 3.8 实现微服务
  36. 3.9 微服务与API
  37. 3.10 小结
  38. 第4章 调整微服务的大小:寻找服务边界
  39. 4.1 为什么边界很重要,什么时候重要,以及如何找到它们
  40. 4.2 领域驱动设计和微服务边界
  41. 4.2.1 上下文映射
  42. 4.2.2 同步集成与异步集成
  43. 4.2.3 DDD聚合
  44. 4.3 事件风暴简介
  45. 4.4 介绍通用规模计算公式
  46. 4.5 小结
  47. 第5章 处理数据
  48. 5.1 独立部署和数据共享
  49. 5.2 微服务嵌入他们的数据
  50. 5.2.1 嵌入数据不应导致数据库集群数量激增
  51. 5.2.2 数据嵌入和数据委托模式
  52. 5.2.3 使用数据复制解决独立性
  53. 5.2.4 分布式事务和失败补偿
  54. 5.3 事件源和CQRS
  55. 5.3.1 事件源
  56. 5.3.2 通过滚动快照提高性能
  57. 5.3.3 事件存储
  58. 5.3.4 命令查询职责分离
  59. 5.4 微服务之外的事件源和CQRS
  60. 5.5 小结
  61. 第6章 构建基础设施流水线
  62. 6.1 DevOps原则和实践
  63. 6.1.1 不可变的基础设施
  64. 6.1.2 基础设施即代码
  65. 6.1.3 持续集成和持续交付
  66. 6.2 建立基础设施即代码的环境
  67. 6.2.1 设置GitHub
  68. 6.2.2 安装Terraform
  69. 6.3 配置Amazon Web Services
  70. 6.3.1 设置一个AWS Operations账户
  71. 6.3.2 配置AWS CLI
  72. 6.3.3 设置AWS 权限
  73. 6.3.4 为Terraform创建S3存储
  74. 6.4 建立基础设施即代码流水线
  75. 6.4.1 创建沙箱代码库
  76. 6.4.2 使用 Terraform
  77. 6.4.3 编写沙盒环境代码
  78. 6.4.4 构建流水线
  79. 6.4.5 测试流水线
  80. 6.5 小结
  81. 第7章 构建微服务基础设施
  82. 7.1 基础设施组件
  83. 7.1.1 网络
  84. 7.1.2 Kubernetes服务
  85. 7.1.3 GitOps部署服务器
  86. 7.2 实现基础设施
  87. 7.2.1 安装kubectl
  88. 7.2.2 设置模块代码库
  89. 7.2.3 网络模块
  90. 7.2.4 Kubernetes模块
  91. 7.2.5 设置Argo CD
  92. 7.2.6 测试环境
  93. 7.2.7 清理基础设施
  94. 7.3 小结
  95. 第8章 开发者空间
  96. 8.1 编码标准和开发者的配置
  97. 8.2 在本地设置一个容器化的环境
  98. 8.2.1 安装Multipass
  99. 8.2.2 输入容器和映射文件夹
  100. 8.3 安装Docker
  101. 8.4 本地Docker的高级用法:安装Cassandra
  102. 8.5 安装Kubernetes
  103. 8.6 小结
  104. 第9章 开发微服务
  105. 9.1 设计微服务端点
  106. 9.1.1 航班管理微服务
  107. 9.1.2 预留管理微服务
  108. 9.1.3 设计OpenAPI规范
  109. 9.2 为微服务实现数据.
  110. 9.2.1 预订微服务的Redis数据模型
  111. 9.2.2 航班微服务的MySQL数据模型
  112. 9.3 微服务的实现代码
  113. 9.3.1 航班微服务背后的代码
  114. 9.3.2 健康检查
  115. 9.4 向项目引入第二种微服务
  116. 9.5 通过伞式项目关联微服务
  117. 9.6 小结
  118. 第10章 发布微服务
  119. 10.1 设置Staging环境
  120. 10.1.1 Ingress模块
  121. 10.1.2 数据库模块
  122. 10.1.3 Forking Staging基础设施项目
  123. 10.1.4 配置Staging工作流
  124. 10.1.5 编辑Staging基础设施代码
  125. 10.2 传输航班信息容器
  126. 10.2.1 介绍Docker Hub
  127. 10.2.2 配置Docker Hub
  128. 10.2.3 配置流水线
  129. 10.3 部署航班服务容器
  130. 10.3.1 了解Kubernetes部署
  131. 10.3.2 创建Helm Chart
  132. 10.3.3 创建微服务部署代码库
  133. 10.3.4 使用Argo CD进行GitOps式的部署
  134. 10.4 清理
  135. 10.5 小结
  136. 第 11 章 变更管理
  137. 11.1 微服务系统中的变更
  138. 11.1.1 以数据为导向
  139. 11.1.2 变更的影响
  140. 11.1.3 三种部署模型
  141. 11.2 基于我们的架构的考量
  142. 11.2.1 基础设施的变更
  143. 11.2.2 微服务变更
  144. 11.2.3 数据的变更
  145. 11.3 小结
  146. 第 12 章 旅程的终点(和新的起点)
  147. 12.1 微服务的复杂性与简化
  148. 12.2 衡量微服务转型的进展 .
  149. 12.3 小结
书名:微服务即学即用
译者:王岩, 黄俊彬 译
国内出版社:中国电力出版社
出版时间:2022年03月
页数:328
书号:978-7-5198-6408-8
原版书书名:Microservices: Up and Running
原版书出版商:O'Reilly Media
Ronnie Mitra
 
Ronnie Mitra是API学院的首席设计师,专门从事高价值API、战略以及组织系统的开发工作。

Ronnie Mitra是一位作家,战略家和顾问,拥有超过25年网络和连 接技术工作经验。他是O’Reilly的《Microservice Architecture》和《Continuous API Management》的合著者。
 
 
Irakli Nadareishvili
 
Irakli Nadareishvili是Capital One核心创新副总裁,领导着负责构建基于微服务的核心银行平台的团队。在此之前,他是健康科技初创公司ReferWell的联合创始人兼CTO,并在CA Technologies和NPR担任技术领导职务。您可以通过@inadarei在Twitter上关注Irakli。
 
 
书封面中的动物是闪亮的紫罗兰蜂鸟 (学名:Colibri coruscans)。这种蜂鸟生活在南美洲西北海岸的山脉中,在安第斯山脉中高海拔的栖息地中。这些蜂鸟在克丘 亚语中被称为Siwar q’inti,在当地民间传说中占有一席之地,象征着好运。
闪亮的的紫罗兰蜂鸟具有色彩斑斓的绿色,头部和胸部带有紫色标记。在炫耀的时候,耳朵上较长的紫色羽毛从头部向外延伸。它是一种体型较大的蜂鸟,它们平均长约五到六英寸,重约四分之一盎司。雌性在自己的巢中产下两个卵,然后将卵孵化。幼鸟三个星期后就可以从巢中飞出。
由于它们生活在高冷的海拔高度上,闪亮的紫罗兰蜂鸟有一个与其他蜂鸟迥然不同的特点,它们每晚都会进入深度麻痹的睡眠状态。在这种类似于冬眠的状态下,紫罗兰蜂鸟的身体机能降低,几乎适应了周围的寒冷温度,然后在黎明时逆转。这种鸟可以在没有食物的情况下长时间生活在寒冷的地方,而不像其他种类需要长时间保持温暖。他们完成这一复杂机能的方式是还在科学研究中。