购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

前言

随着业务的发展,笔者当时所在公司的项目越来越臃肿。随着代码的堆砌,项目变得越来越复杂、开发效率越来越低、越来越难以维护,小伙伴们苦不堪言,毫无幸福感可言。我们迫切需要能够解放生产力、放飞小伙伴的“良药”,于是,微服务进入视野。然而,微服务究竟是什么,众说纷纭,没有人能说清楚什么是微服务。不仅如此,大家对微服务的态度也是泾渭分明,吹捧者、贬低者比比皆是,在笔者的QQ群、微信群中硝烟四起。笔者参加了不少交流会,感觉许多分享常常停留在理论阶段。一场会下来,觉得似乎懂了,却苦于没有对应的技术栈去实现这些理论。

Docker、Jenkins等工具笔者均有涉猎,然而使用什么技术栈去实践微服务架构,在很长时间内都是笔者心中的疑问。

2015年中,笔者偶然在GitHub上看到一个名为SpringCloud的框架,它基于SpringBoot,配置简单、设计优雅,并且大多组件经过了生产环境的考验。笔者花1个月左右的时间详细研究了Spring Cloud的相关组件后,体会更深。然而,技术选型必须进行客观、多维度、全方位的分析,而不应由我个人的主观意见作为决定因素。 文档丰富程度、社区活跃度、技术栈生态、开发效率、运行效率、成功案例 等,都是我们选型的重要因素。经过调研,其他几点都很OK,只缺成功案例——在当时,国内几乎没什么成功案例,甚至连中文的博客、相关资料都没有。

这让笔者陷入两难,在这一过程中,公司一边继续使用阿里巴巴开源的Dubbo(Dubbo虽然在国内非常流行,但毕竟有段时间没有维护了,开源生态也不是很好),一边在笔者的组织下进行一些Spring Cloud相关的技术分享。一方面是希望借此开拓小伙伴们的视野,另一方面也希望能将两者相互印证,看能否在现有平台上借鉴Spring Cloud的设计或使用其部分组件。

2016年8月,笔者有幸代表公司参加了全球微服务架构高峰论坛。会上,Josh Long对Spring Cloud的讲解在现场引起了不小的轰动,也让笔者眼前一亮。会后笔者咨询Josh,Spring Cloud能否用于生产、是否大规模使用、国内是否已有成功案例,对方一一给出了肯定的回答。这一回答消除了笔者最后的一点疑虑,开始考虑从Dubbo逐步迁移至Spring Cloud的规划与方案。会后,笔者心想,不妨将Spring Cloud相关知识总结成一个“系列博客”,一来是加深自己的理解,二来也算是丰富Spring Cloud的中文资料。于是,笔者创建了自己的博客( http://www.itmuch.com ),并开始了系列博客的编写。写了两篇后,笔者将博客链接分享到微信群中,没成想,恰好被Josh Long看到,并引用到Spring官方博客中去了。这让笔者感到无比荣幸的同时,也让自己贡献开源社区的欲望空前强烈,于是乎,一口气又写了两篇。

再后来,笔者成立了微服务/Spring Cloud/Docker相关的QQ群(157525002),在QQ群小伙伴的鼓励下,笔者决定写一本Spring Cloud开源书( https://github.com/eacdy/springcloud-book ),没想到竟然获得开源中国的推荐。再然后,笔者在许进的邀请下,联合创办了Spring Cloud中国社区。最后,在群管理员冯靖的引荐下,认识了网红级的大牛张开涛,开涛帮忙引荐了电子工业出版社编辑侠少。从此,笔者正式撰写实体书。

本以为,有了开源书的撰写经验,实体书应该是较为轻松的一件事。然而,样稿发出后,却被侠少鄙视……主要是语文是体育老师教的,病句满天飞,况且,理论不是我的专长。期间一度想要放弃,多亏了侠少的鼓励,总算坚持写了下去……

仓促完稿之际,感慨万千,激动与感激交织,于是,本段不可免俗,进入老生常谈的“鸣谢”环节——感谢我的家人,写书是个费时费力的活儿,在近半年的时间,我的父母和妻子给予了我极大的支持;感谢电子工业出版社小伙伴们的辛苦工作,没有刘佳禾、孙奇俏、侠少等可爱的朋友们,我的书不可能面世;衷心感谢丁露、冯靖、张英磊、王天青、吴峻申(N本书的作者)在百忙之中帮忙校对;衷心感谢QQ群、微信群的朋友们,你们给了笔者最大的帮助和支持!(注:排名不分先后。)

特别鸣谢:感谢吴峻申给笔者提出很多中肯实用的建议和意见;感谢张英磊帮忙重绘、美化书中绝大部分架构图。

谨以此书献给想要学习微服务、SpringCloud、Docker又不知从何开始的读者朋友们。 希望本书能切切实实地帮助你使用特定技术栈实现微服务架构的落地 ,也希望本书不会令你失望。本书很多理论性的内容并未展开,例如Cloud Native、12-factor APP、DDD等,但笔者都在文中以拓展阅读、Tips或Warning的形式进行了标记,这部分内容希望读者能够自行拓展阅读。

周立

排版约定

在阅读本书时,你会遇到不同类型的提示信息,这里展示一些例子及其含义。

img
img

读者服务

轻松注册成为博文视点社区用户(www.broadview.com.cn),扫码直达本书页面。

●下载资源: 本书如提供示例代码及资源文件,均可在 下载资源 处下载。

●提交勘误: 您对书中内容的修改意见可在 提交勘误 处提交,若被采纳,将获赠博文视点社区积分(在您购买电子书时,积分可用来抵扣相应金额)。

●交流互动: 在页面下方 读者评论 处留下您的疑问或观点,与我们和其他读者一同学习交流。

页面入口: http://www.broadview.com.cn/34105 fOUs4klcRDm6U+B7wx7gPpwTk2dt8M4vuDXZvL+JmZQvh3WkyokoOFGzORLnSS33

点击中间区域
呼出菜单
上一章
目录
下一章
×