Spring Cloud
微服务实战
翟永超著
念子工常出胚社·
Publishing
House of Electronics
Industry
北京•BEIJING
内容简介
本书从时下流行的微服务架构概念出发,详细介绍了 SpringCloud针对微服务架构中几大核心要素的
解决方案和基础组件。对千各个组件的介绍,本书主要以示例与源码结合的方式来帮助读者更好地理解这
些组件的使用方法以及运行原理。同时,在介绍的过程中,还包含了作者在实践中所遇到的一 些问题和解
决思路,可供读者在实践中作为参考。
本书适合所有Java开发人员,尤其适合正在做微服务架构技术选型或正在实施微服务架构的团队查
阅和参考。
未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。
版权所有,侵权必究。
图书在版编目(CIP)数据
Cloud微服务实战 I翟永超著 — 北京:电子工业出版社,2017.5
Spring
ISBN 978-7-121-31301-l
I . CDs
… II. CD翟… III.CD互联网络- 网络服务器 N.(DTP368.5
中国版本图书馆CIP数据核字(2017)第071305号
策划编辑:张春盯
责任编辑:刘 舫
印
装
出版发行:电子工业出版社
刷:北京天宇星印刷厂
订:北京天宇星印刷厂
北京市海淀区万寿路 173信箱
开 本: 787 X 980 l /16 印张: 27.5
版 次: 2017年5月第1版
印 次: 2017年5月第1次印刷
定
价: 89.00元
邮编:100036
字数:586千字
凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,
联系及邮购电话:CO 10) 88254888,
88258888
质量投诉请发邮件至zlts@phei.com.cn,
本书咨询联系方式: 0 l 0-51260888-819
盗版侵权举报请发邮件至dbqq@phei.com.cn。
faq@phei.com.cn。
推荐序一
我和 Java很有缘, 2003年在富士通南大实习的时候, 就开始用 Struts/JSP/Hibemate/
MySQL做第 一 个 Java项目
spif/)。
SPIF (http://www.fujitsu.com/cn/pr
tions/
oducts/software/applica
工作之后, 主要做 J2EE的开发, 并开始慢慢接触和使用 Spring。 加入 EMC之后, 很
有幸和 Spring成为 一 个大家庭 CEMC收购了 VMware,VMware收购了 Spring)。2012年,
我和 SpringData/XD的负责人 MarkPollack在中国开过 一 次小会,和他探讨了 一 些关于 Data
和peline的想法。 后来我也看了很多 JoshLong C龙应春)的演讲视频, 并在 2016年终于有
幸能够与他在 一 个技术大会上同场演讲, 并在会议之后做了很多深入沟通。
2015年上半年, 我读了两本书: The Phoenix
Pro_丿ect和 Migrating
to Cloud-Native
Architectures,
Application
对 Netflix的那套 oss套件有了 一 个初步印象 。
让我对 DevOps、微服务和云原生架构有了初步的认识, 也让我
我是在 2015年 9月加入麻袋理财之后开始接触 SpringBoot的, 试用之后感觉它很神
奇,再也没有被 Spring之前那些烦琐配置所束缚。 当时正好和 一 个架构师讨论要做 一 个项
目的升级改造,决定采用 SpringBoot和微服务架构。开始的时候,服务治理还是用 了 Dubbo。
之后因为 对 SpringCloud有了比较深刻的认识, 在之后 一 个全新项目上, 我们完全按照微
服务架构,使用SpringBoot和 Cloud进行开发,并采用CI/CD自动化流程和容器化部署。
因为使用了 SpringCloud, 让我对 SpringCloud的相关信息特别关注。一 个偶然的机会,
我认识了 SpringCloud中国社区的负责入许进、 翟永超(本书作者) 和周立, 探讨了很多
使用 SpringCloud的经验, 感觉与他们和 SpringCloud相见恨晚。
翟永超本人写了很多关于 SpringCloud使用的博客, 不同于 一 般作者, 他写的内容更
• Spring Cloud微服务实战
加贴近实际,是自己工作经验的深刻总结,可以拿来直接用于生产。
有一 次我们聊到关于配置中心 CSpring
Cloud Config)如何在生产中使用,他解答了我
很多问题,并告诉我他写了一 本书,书中就会包含这些内容。这让我对这本书充满期待。
后面也有幸见到了本人,一 个瘦瘦高高的书生, 一 看就是一 个很有内涵的技术人。畅聊之
后,翟永超就把书发给了我,让我先睹为快。
我把翟永超的书仔细拜读了 一 遍,最大的收获就是让我对 SpringCloud的认识又上升
了一 个层次。我之前对 SpringCloud的理解更多的是知其然,但是却不知道其所以然,对
Cloud里面的逻辑知之甚少。而读了翟永超的《SpringCloud微服务实战》一 书后,
Spring
让我对 SpringCloud各个组件的认识提升了 一 个层次,同时也让我对 SpringCloud各个组
件的实现原理有了初步的认识,因此我建议所有打算将 SpringCloud用于生产的朋友 一 定
要好好读一 下这本书。
王天青
DaoCloud首席架构师
2017年3月
IV
推荐序二
2016年 10月开始,我在冰鉴科技负责微服务架构迁移相关的调研和筹建工作。我比
较了 Dubbo、Dubbox、Motan、SpringCloud等框架后,最终锁定在 SpringCloud上。这是
一个非常年轻的框架,关千它的中文文档少之又少,更不用说有深度的技术干货了。
当我的团队在利用搜索引擎进行相关检索时,永超的技术博客十分显眼地排在了前列,
我非常感激他贡献的这个系列的文章,这在我们团队做微服务架构迁移的工作中,起到了
关键作用。后来有一 天,我俩在一 个架构群中相识, 一 番讨论后发现是博主本入并且他有
写书计划时,我告诉了我的团队,我们不谋而合地决定要在该书出版时迅速收入粪中,做
到人手一 本。而今天对于我来说更是非常荣幸,能够给永超的新书写推荐序。
Spring
Cloud是一 个微服务架构实施的综合性解决框架,而在如何构建微服务的选择上,
由于我们团队是从SSM(Spring+ Spring
MVC + MyBatis)框架开始演进的,基于让演进
中改动最小的初衷,我们决定使用 SpringBoot做微服务构建。我们从对 SpringBoot的调
研开始就一 直关注着永超的技术博客,在第一 次接触 SpringBoot的时候就被它 “习惯优
于配置 ” 的设计概念深深吸引,这无疑简化了做业务逻辑开发同事的工作量,也使得他们
可以不用关注配置细节。本书中也有关于 SpringBoot基础知识的详细讲解以及一 个案例工
程带你快速构建属于你的第一 个微服务。
如开头所述,为了将系统微服务化,我们也一 直在对 SpringCloud进行相关调研。这
本书也是国内市场上为数不多的、全面讲解 SpringCloud微服务的中文图书。本书详细讲
解了 SpringCloud生态的各类组件,涵盖了服务治理组件 Eureka、客户端负载均衡组件
R巾bon、服务容错保护组件Hystrix、声明式服务调用组件Feign、API网关治理组件 Zuul、
分布式配置中心组件 Config、 消息总线组件 Bus、 消息驱动组件 Stream、 分布式服务跟
踪组件 Sleuth。 这包含了我们在实施微服务中需要深入了解的各个轮子,是 一 本需要仔细
• Spring Cloud微服务实战
研读、反复阅读的精品之作。
最后,预祝永超在SpringCloud的学习和工作中再创佳绩,也希望读者朋友能够在阅
读完本书后快速地搭建好实施微服务过程中的基础脚手架,并在未来工作中能够将团队的
一些实践通过SpringCloud中国社区进行交流,为开源贡献自己的一 份力量。
朱清
冰鉴科技信息技术部总监
Spring
Cloud中国社区联合创始人
2017.03.27
VI
推荐序三
收到本书作者翟永超的邀请为这本书写推荐序,其实我是很谨慎的抱着对读者负责、
对技术严谨的态度,不能在完全不懂SpringCloud的基础上妄加评论。就像 2009年的云计
算和现在的大数据, "Big data is like teenage
talks about it, nobody really
how to do it, everyone
所以我概读了书中的内容的 确是一 本好书,特别是在基于技术实践的阐述中又不失对“微
服务化 ” 理论层面的讲解以及发展演进过程的说明。
else is doing it, so everyone
thi1汰severyone
claims
they are doing it."。
sex: everyone
knows
结合在云计算行业中为大量企业级客户做的服务案例, “集中化”的系统架构确实在
企业级客户业务中受到越来越多的挑战,随着业务变化对 IT需求的不断增加,处于逐渐失
控的状态。C IO们受到越来越大的挑战, 希望做到数据驱动业务, 那第一 个阶段就要做去
中心化的改造。如书中所阐述 , “微服务化 ” 其实并不是简单的技术革新,而是对团队组
织,系统架构,系统研发, 自动化测试、发布、运维都提出了一 系列的变革要求。所以我
觉得,不管是架构师、运维经理、研发主管还是C IO都可以从本书中有所收获。
同样,阿里云的企业级中间件EDASC基于阿里系的Dubbo开源项目)配合强大的
飞天云平台与Docker服务的支持 ,在大中型企业客户业务中得到更多的验证, 如森马服
饰、来伊份、正佳广场、中石化的易派客电商平台等。与这些商业化的中间件产品相比 ,
Spring
也会取得越来越多的成功案例。 书如其人, 值得认真拜读,我会推荐给更多的人, 为翟
永超点赞。
Cloud得到了更多热衷开源项目 的人的支持,相信在有足够团队技术能力的保障下,
李俊涛
上海驻云科技执行总监