vlambda博客
学习文章列表

荐读 | 姚国全:《微服务架构设计模式》


荐读 | 姚国全:《微服务架构设计模式》
荐读第二十八期
荐读 | 姚国全:《微服务架构设计模式》


荐读 | 姚国全:《微服务架构设计模式》


作者:[美] 克里斯·理查森
翻译:喻勇
出版社:机械工业出版社



荐读者:姚国全


远光软件股份有限公司 

副总裁兼GRIS事业部总经理


荐读 | 姚国全:《微服务架构设计模式》




荐文


推荐理由


数字化转型依赖创新。美国风险投资机构

Work-Bench在《2018企业软件调研年报》中推论:以微服务为代表的云原生技术是帮助企业实现有效数字化转型的唯一技术途径。在考虑构建可以支持海量请求,以及多变业务的软件平台时,微服务架构成为多数人的首选。


大部分企业采用的仍是单体架构的软件系统,单体架构在软件系统相对较小的时候存在很多好处。但随着时间推移,软件系统越来越庞大、复杂,单体架构的软件系统的局限性就显现出来,如不改变,可能会走向“单体地狱”。比较明显的症状是:过度的复杂性吓退开发者;开发速度变缓慢;从代码提交到实际部署的周期很长,而且容易出问题;难于扩展;交付可靠的单体应用是一项挑战;需要长期依赖某个可能已经过时的技术栈。而这些问题通过微服务架构都可以很好的解决。


本书作者Chris Richardson(克里斯·理查森)是Java社区的著名布道师、JavaOne等知名技术大会的常年主讲人,出版过多本著作;他还是微服务领域公认的思想领袖,microservices.io网站(该网站专注于提供微服务架构模式语言)的创建者。


本书我曾推荐给部门同事,均反馈很有收获,该书将理论和实际相结合,具有非常强的指导意义和参考价值。



本书主要内容


本书以“FTGO公司如何将一个单体架构的软件系统逐步过渡到微服务架构的软件系统”这一案例贯穿全文,从以下内容进行讲述。


第1章描述了“单体地狱”的症状,并提出了微服务架构模式语言,这也是本书大部分内容的主题,重点强调每一个服务都拥有自己的私有数据库(并不意味着每个服务都需要一个独立的数据库服务器),同时对微服务架构的好处和弊端进行了阐述。


第2章描述了微服务架构定义,拆分策略、方法及难点。微服务架构的难点包括网络延迟、同步进程间通信导致可用性降低、在服务之间维持数据一致性、获取一致的数据视图、上帝类阻碍了拆分(上帝类是在整个应用程序中使用的全局类)。


第3—7章对第2章所列难点一一提供了解决方案,并用FTGO公司系统作为案例进行讲解。对跨服务的数据查询、事务一致性作为重点讲解。


第8章重点说明了外部API模式研发,主要是移动端设计开发。


第9—12章重点说明了微服务架构系统的测试、部署


第13章总结介绍将单体架构的软件系统重构成微服务架构的软件系统的策略、步骤等


最后,当一个单体架构的软件系统逐步过渡到微服务架构的软件系统,研发模式和团队也需要随之而变,应从瀑布式开发模式过渡到敏捷开发。研发团队也应按敏捷开发的要求变精、变小,变成小型自治团队;同时也需要积极实践持续交付和持续部署,这是DevOps中的关键环节。



本书购买渠道:当当网/京东商城搜索

                  《微服务架构设计模式》