《微服务设计》读书笔记
1 内容简介
这本书由崔力强和张骏翻译的Sam Newman编著的《Building Microservices》而来。该书全面介绍了微服务的建模、集成、测试、部署和监控,通过一个虚构的公司讲解了如何建立微服务架构。主要内容包括认识微服务在保证系统设计与组织目标统一上的重要性,学会把服务集成到已有系统,采用递增手段拆分单块大型应用,通过持续集成部署微服务。
2 读后总结
第一章微服务:介绍微服务基本概念,优缺点。
第二章,演化式架构师:讨论了在微服务架构下哪些方面是需要考虑的,如远景、同理心、合作、适应性、自治性、治理,能更好地平衡取舍。
第三章,如何建模服务:讲解了通过领域驱动设计来定义微服务边界。
领域驱动设计简介:<u>http://dddcommunity.org/learning-ddd/what_is_ddd/</u>
第四章,集成:讨论了什么样的服务集成技术对我们的帮助最大。
-
避免数据库集成
-
理解REST和RPC之间的取舍,总是使用REST作为请求/响应模式的起点
-
相比编排,优先选择协同
-
避免破坏性修、理解Postel法则、使用容错性读取器
-
将用户界面看作一个组合层
第五章,分解单块系统:主要讲解了怎样寻找服务边界把系统分解,这是一个增量的过程。
第六章,部署
第七章,测试
第八章,监控
部署,测试,监控是微服务架构软件需要关注的几个重要方面,关键是要实现自动化,这也是微服务架构软件面临的挑战,现在已有成熟的技术解决这些问题。
第九章,安全:讨论了用户对微服务访问及服务间的身份验证和授权,单点登录实现方式,HTTPS基本身份验证、HMAC、API密钥、深度防御等话题。
第十章,康威定律和系统设计:康威定律强调了试图让系统设计跟组织结构不匹配导致的危险。
第十一章,规模化微服务:介绍规模化微服务面临的问题,以便处理在有大量服务时失败概率增大及流量过载的问题。
第十二章,总结:微服务的原则:围绕业务概念建模、接受自动化文化、隐藏内部实现细节、去中心化、可独立部署、隔离失败、高度可观察
这本书对微服务设计的各个方面都有所涉及,读完本书对微服务设计、开发有所助益,值得更深入地学习。