《高可用可伸缩微服务架构:基于Dubbo、Spring Cloud和ServiceMesh》书籍介绍

《高可用可伸缩微服务架构:基于Dubbo、Spring Cloud和ServiceMesh》

高可用可伸缩微服务架构

作者心声

经过长达近1年半的准备,本书终于要和大家见面了。本书的各位作者,都是具有多年大型互联网架构设计的资深架构师。我们把微服务架构领域的各类知识,以及自己平常的经验和积累做了完整的梳理总结,凝结为这样一本技术书,作为2019年的一份礼物呈现给大家,同时也欢迎大家共同探讨和交流。

本书通过 Dubbo、Spring Cloud、Service Mesh 等技术构建微服务体系,并深入浅出的介绍了微服务架构发展历程、领域驱动设计、稳定性保证的常用手段、分布式事务的一致性方案,以及通过大量的案例探讨微服务落地方案,例如双活体系建设,分布式监控,微服务编排,百亿流量微服务网关的设计与实现,基于支付场景下的微服务改造等,展示了实现微服务架构的完整蓝图,并让读者了解到如何借助于微服务来增强和重构现有的遗留系统。不管你是还没听过或者刚接触过微服务的新手,还是正在尝试借助微服务解放生产力的开发人员或者运维人员,或者是立志于构建高可用可伸缩的微服务体系的架构师,阅读本书,对读者必有裨益。

本书前言

微服务这个概念最早是在2011年5月威尼斯的一个软件架构会议上讨论并提出的,用于描述一些作为通用架构风格的设计原则。2012年3月在波兰克拉科夫举行的33rd Degree Conference大会上,Thoughtworks首席咨询师James Lewis做了题为《Microservices - Java, the Unix Way》的演讲( http://2012.33degree.org/talk/show/67 ),这次演讲里James讨论了微服务的一些原则和特征,例如单一服务职责、康威定律、自动扩展、DDD等等。

微服务架构则是由Fred George在2012年的一次技术大会上所提出( http://oredev.org/oredev2012/2012/sessions/micro-service-architecture.html ),在大会的演讲中他讲解了如何分拆服务以及如何利用MQ来进行服务间的解耦,这就是最早的微服务架构雏形。而后由Martin Fowler发扬光大并且在2014年发表了一篇著名的微服务文章( https://martinfowler.com/articles/microservices.html ),这篇文章深入全面的讲解了什么是微服务架构。随后,微服务架构逐渐成为一种非常流行的架构模式,一大批的技术框架和文章涌现出来,越来越多的公司借鉴和使用微服务架构相关的技术。

然而微服务并不是万能药,我们在实施的过程中不能简单的使用某些个微服务框架或者组件一蹴而就,而是需要将业务、技术和运维有机结合起来,配合同步实施,并且在此过程中还需要趟过很多的坑才能够取得成功。

本书的每一个章节都是相关领域的专家经过多年的技术积累提炼而成,秉承以理论为基础,以大量企业实战案例为核心,深入全面的介绍了微服务架构的实施方法以及在实施过程中所遇到的问题和解决方案,是一本内容详实、“可落地”的理论实践相结合的技术书籍。

内容简介

本书共分为十四章:

第一章:微服务概述

从软件架构的发展历程讲起,分别对单体架构、SOA架构和微服务架构的演进过程做了深入浅出的讲解,同时也深入介绍了微服务架构的特点,本章以宏观的视角为读者打开微服务的大门。

第二章:微服务领域驱动设计

本章介绍了领域驱动设计是什么,常见的领域架构有哪些,如何将领域驱动应用到微服务中,以及如何使用领域驱动进行合理的服务划分等,帮助读者在正式学习微服务前修炼内功。

第三章:Dubbo原理与实现

目前Dubbo已经被阿里巴巴技术团队重新维护并且得到了大力的发展和推广,使用Dubbo依然可以很好的进行微服务建设,本章较为深入的讲解了Dubbo的使用和技巧,以及通过源码的深入分析能够让读者对Dubbo的原理实现有一个全面的认识。

第四章:Spring Cloud实战案例

Spring Boot/Cloud是目前较为流行的微服务框架,本章以大量的实战案例为读者讲解如何才能应用好Spring Cloud框架,以及如何避免在使用过程中遇到的坑。

第五章:微服务稳定性保证常用手段

当业务发展越来越快,规模也越来越大的情况下,我们所面临的就是如何在服务越来越多的情况下保证微服务架构的稳定性,本章带领读者逐步揭开保障稳定性的常用技巧和手段。

第六章:微服务下事务的一致性保证

本章介绍了从本地事务到分布式事务的演变,深入分析了微服务在强一致性场景和最终一致性场景下的解决方案,探讨了二阶段提交协议、三阶段提交协议、TCC 模式、补偿模式、可靠事件模式等。同时,对开源项目的分布式事务进行解读,包括 RocketMQ 和 ServiceComb。

第七章:微服务亿级网关设计

本章从百亿流量交易系统微服务网关(API Gateway)的现状和面临问题出发,阐述微服务架构与 API 网关的关系,理顺流量网关与业务网关的脉络,带来最全面的 API 网关知识与经验。

第八章:微服务编排

本章以Netflix Conductor框架为核心,从框架的使用和原理深入介绍了什么是微服务编排,为微服务执行复杂的业务逻辑提供了一种新的思路。

第九章:微服务统计与数据抽取方案

在微服务架构下,服务必将越来越多,在这各情况下如何进行数据统计和分析将变得非常困难,本章将深入讲解如何从不同服务的数据库中抽取数据到统一的大数据平台中,帮忙使用者更方便的进行数据的统计。

第十章:微服务双活体系建设

在企业发展规模越来越大的情况下,用户对系统的稳定性要求也越来越高,那么单机房布署势必成为发展的瓶颈,本章将带领读者从零开始以实际案例出发进行同城双活的建设。

第十一章:基于支付场景下的微服务改造和性能优化

本章从实际的案例出发,在具体的支付业务场景下,从一个新项目开始逐步讲解如何利用领域驱动划分服务,如何利用微服务框架进行服务治理,以及项目完成后怎样提升微服务架构的性能。

第十二章:遗留系统的微服务改造

本章介绍了遗留系统的微服务架构改造,梳理了代码分层结构的转变,提出一个新的代码分层思路来应对微服务的流行与普及,并深入思考了遗留系统的债券,深入探讨单体系统拆分服务的方法论。同时,对遗留系统的微服务架构改造的解决方案给出 9 个切实可行的核心实践思路。

第十三章:Service Mesh的入门与案例

随着微服务的持续发展,下一代微服务架构已然出现,本章将深入介绍Service Mesh发展历程,以及结合具体案例带领读者使用Istio进行具体实践。

第十四章:微服务监控实战

本章重点介绍APM的原理,从零开始开发APM监控系统,还深入介绍Prometheus的安装和原理,以及如何使用Prometheus进行监控和预警。

作者简介

  • 程超

    网名小程故事多,现某公司高级架构师,12年Java研发经验,8年技术管理和架构经验,熟悉支付和电商领域,擅长微服务生态建设和运维监控,对Dubbo、Spring Cloud和gRPC等微服务框架有深入研究,并应用于项目,帮助过多家公司进行过微服务建设和改造。合著作品《深入分布式缓存》,阿里云MVP、云栖社区外部专家、Codingfly社区特聘技术专家、CSDN博主专家。

  • 梁桂钊

    现任某互联网公司高级开发工程师,参与过内容分发、K12 教育、淘系电商等项目。目前,专注于新零售电商服务的业务摸索和电商服务创新实践。对于 Java 核心技术、微服务、分布式、高并发有一线实战经验,并对新兴技术方向和各种开源框架有浓厚热衷。公众号「服务端思维」的作者。

  • 秦金卫(KimmKing)

    现某公司高级技术总监/Apache Dubbo PPMC,前阿里架构师/某商业银行北京研发中心负责人,阿里云MVP、TGO鲲鹏会会员。关注于互联网,电商,金融,支付,区块链等领域,熟悉海量并发低延迟交易系统的设计实现,10多年研发管理和架构经验,对于中间件、SOA、微服务,以及各种开源技术非常热衷,活跃于Dubbo/Fastjson/ActiveMQ等多个开源社区。个人博客:http://kimmking.github.io

  • 方志斌

    现任某物联网公司高级研发工程师。目前,专注于大型物联网平台架构的设计与开发工作。对于微服务、分布式、集群有一定的研究和实战经验。对Java领域的开源框架有浓厚的兴趣,喜欢框架源码深入分析、总结。SpringForAll社区核心成员,组织多次社区技术专题、问答等活动。

  • 张逸

    架构编码实践者,微服务架构设计者,领域驱动设计布道师,大数据平台架构师。著译作包括《软件设计精要与模式》、《恰如其分的软件架构》、《人件》等。他的个人微信公众号为「逸言」,个人博客:http://zhangyi.xyz。

  • 杜琪

    网名阿杜,现任蚂蚁金服高级研发工程师,2015年6月毕业于南开大学计算机系统结构硕士。毕业后开始接触分布式业务系统开发,曾在有赞负责用户中心基础服务,对分布式业务系统的稳定性、可靠性有丰富的经验积累。个人喜欢研究底层技术,喜欢研究疑难技术问题,例如:JVM内存问题排查、GC调优等等。有对外输出分享的习惯,是公众号javaadu的维护者。

  • 殷琦

    网名涤生,现任美团点评技术专家,2015年3月毕业于东华大学软件工程硕士。2015年3月加入美团点评基础架构部,开始接触微服务架构,之后一直从事服务框架的研发工作,对微服务架构发展演与进认识非常深刻。个人比较喜欢研究并分享新技术,时刻关注并实践微服务架构最前沿的技术,如 Service Mesh、Serverless 等。

  • 肖冠宇

    曾就职于小米、人民网等互联网公司,具有丰富的大数据一线实战经验,专注大数据处理技术及机器学习算法研究。著有《企业大数据处理:Spark、Druid、Flume与Kafka应用实践》、《Python3快速入门与实战》

其他信息

文章作者: KimmKing&Chengchao&Liangguizhao...
文章链接: https://msainaction.github.io/2019/03/19/book-intro/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 高可用可伸缩微服务架构