首页>参考读物>计算机科学与技术>软件与程序设计

SpringBoot揭秘:快速构建微服务体系
作者 : 王福强 著
出版日期 : 2016-05-16
ISBN : 978-7-111-53664-2
定价 : 59.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 200
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书以微服务的基本概念介绍性开篇, 逐步引出Java平台下打造微服务的利器SpringBoot微框架, 从SpringBoot微框架的出身和源头, 循序渐进,一步步为大家剖析了SpringBoot微框架的设计理念和原理,并对框架的重点功能和模块进行了逐一讲解。
当然, 这还只是”前戏“,本书最精彩的部分在于, 在大家对SpringBoot微框架已经有了基本的认识之后, 我们将一起探索如何基于SpringBoot微框架打造一套完备的微服务体系,因为如果没有平台化体系化的基础支撑, 空谈微服务将太大意义。
SpringBoot微框架依托Java平台和Spring框架,拥有良好的可扩展性和可定制性,为了说明这一点,我们单独开辟了一章内容,为大家介绍了如何使用Scala和SpringBoot微框架来开发和交付相应的微服务,并且围绕着Scala和SpringBoot如何打造相应的工具, 技术产品等支持来提高相应微服务的交付效率。
最后笔者会与大家一起对SpringBoot微框架的相关内容进行回顾和展望,以期温故而知新。
本书总体上可以总结为三个关键词, “框架,体系,生态”, 三者循序渐进,相辅相成,在大家使用SpringBoot微框架打造自己特色的微服务体系和技术生态之时,希望大家记住这三个关键词。

图书特色

阿里与平安集团技术高层倾心倾情推荐,互联网与互联网金融行业各大技术掌门一致好评。
理论与实践相结合、框架与生态相结合、技术与产品相结合,多视角、多维度、多场景地为大家深刻揭示了SpringBoot微服务框架和微服务架构体系的终极奥秘。

封底:
王 栋 雪球CTO
去年雪球花费了很大精力对内部系统进行了微服务化改造,我们选择了SpringBoot作为微服务化的基础,当时关于SpringBoot相关的中文资料还很少。最近听说福强老师写了一本关于SpringBoot的书,当看到书的目录后第一感觉就是如果我们当初有这本书在手绝对可以少走很多弯路。本书介绍了很多我们不曾研究透彻的用法和原理。更让人惊喜的是本书还包含关于微服务的原理和最佳实践的章节,让人耳目一新,收获颇丰。强烈推荐给每一个对SpringBoot和微服务感兴趣的人。
杜 江 21CTO社区创始人
福强的第一本书曾给我耳目一新的感觉,现在他的新作又一次带给我惊喜。和其他书籍相比,本书既在道上深入一层,又在术的层面,对SpringBoot庖丁解牛, 对现在流行的微服务讲解得淋漓尽致,是为精品。若我想在SpringBoot上精进一层,则必读此书,然后请王老师喝到扶墙为止。
曹祖鹏 千米网首席架构师
本书从宏观上介绍了微服务的架构理论,又从技术实现上解析了SpringBoot的各种微妙之处。这本书理论和实践兼备,来得非常及时。


内容简介
本书以微服务的基本概念开篇,逐步引出Java平台下打造微服务的利器SpringBoot微框架,从SpringBoot微框架的出身和源头,循序渐进,一步步为大家剖析了SpringBoot微框架的设计理念和原理,并对框架的重点功能和模块进行了逐一讲解。
“框架,体系,生态”,三者循序渐进,相辅相成,本书最精彩的部分在于,在大家对SpringBoot微框架已经有了基本的认识之后,我们将一起探索如何基于SpringBoot微框架打造一套完备的微服务体系。
SpringBoot微框架依托Java平台和Spring框架,拥有良好的可扩展性和可定制性,为了说明这一点,我们单独开辟了一章内容,为大家介绍如何使用Scala和SpringBoot微框架来开发和交付相应的微服务,并且围绕着Scala和SpringBoot如何打造相应的工具,技术产品等支持来提高相应微服务的交付效率。


作者简介

王福强
资深Java技术专家和架构师,具有多年一线开发经验和技术团队管理经验。在计算机语言、并发与并行编程、分布式系统设计与开发、大数据、实时计算等领域都积累了丰富的经验。先后在英极、花旗、阿里巴巴等金融和互联网企业任职,主导和参与了多个重要的大型项目。现任挖财技术VP兼首席架构师。

图书前言

为什么写这本书
忘了是2015年的哪一天,只记得几个朋友跟友商的其他几个做技术的朋友吃饭,并简单做下技术交流。席间,友商的几位朋友对SpringBoot框架实施微服务很感兴趣,交谈甚欢之际,我无意间开玩笑说:“是不是该考虑写一本SpringBoot的书?”钟伦甫(原淘宝聚石)同学随口一句,“你倒是写啊!”,得,以行践言吧,谁让你把话说出去了呢?
当然,朋友的“热切期盼”只是其一,微服务盛行也是本书写作的一个契机, 希望本书成为国内第一本微服务相关的原创图书,借此跟大家分享我对微服务的浅薄理解,并围绕SpringBoot微框架打造一套微服务体系可能的探索方向,权作抛砖引玉。如果不同的思想可以借此激荡和碰撞形成更多共鸣,则吾之幸甚。
因工作繁忙,只能抽取零碎时间躬耕于晨曦和月光之下,经点滴积累,才终成此书,希望大家阅读愉快。
本书的主要内容和特色
本书以介绍微服务的基本概念开篇,逐步引出Java平台下打造微服务的利器—SpringBoot微框架。书中从SpringBoot微框架的“出身”开始,循序渐进,一步步为大家剖析SpringBoot微框架的设计理念和原理,并对框架的重点功能和模块进行了逐一讲解。
当然,这还只是“前戏”,本书最精彩的部分在于,在大家对SpringBoot微框架已经有了基本的认识之后,我们将一起探索如何基于SpringBoot微框架打造一套完备的微服务体系。因为如果没有平台化体系化的基础支撑,空谈微服务将无太大意义。
SpringBoot微框架依托Java平台和Spring框架,拥有良好的可扩展性和可定制性,为了说明这一点,我们单独开辟了一章内容,为大家介绍如何使用Scala和SpringBoot微框架来开发和交付相应的微服务,并且围绕Scala和SpringBoot如何打造相应的工具,技术产品等支持来提高相应微服务的交付效率。
最后我会与大家一起对SpringBoot微框架的相关内容进行回顾和展望,以期温故而知新。
本书总体上可以总结为三个关键词,“框架、体系、生态”,三者循序渐进,相辅相成,在使用SpringBoot微框架打造自己特色的微服务体系和技术生态之时,希望大家记住这三个关键词。
本书面向的读者
本书希望面向的读者当然是那些对SpringBoot微框架感兴趣的同学,如果你想了解SpringBoot微框架,并且尝试进一步深入定制该框架以满足自己团队和公司的需要,也希望会对你有所启发。
除此之外还包括:
Java平台上的广大研发同学,可以借此书了解业界微服务相关的最新动态。
其他平台上的广大研发同学,可借此书“管中窥豹”,了解微服务的一般体系和生态建设,对比并引入自身的技术和微服务体系建设之中。
脱离技术一线已久的技术负责人。
如何阅读本书
本书采用循序渐进的形式编写,所以顺序阅读是推荐的阅读方式。
勘误和资源
鉴于一家之言且编撰仓促,难免会有所纰漏,观点有失偏颇,所以,我在github网站上专门新建了一个issue项目(https://github.com/fujohnwang/unveil-springboot-feedbacks),如果大家在阅读此书之后发现有哪些错误和疑问,或者改进建议,可以在此项目上新建issue来表达自己的观点和建议。如果时间不充裕,我会适时地选择性给予答复,当然,更希望大家可以通过issue展开讨论,互相切磋和解答疑问 。
致谢
除了最初的一句戏言,钟伦甫同学也是本书的第一位读者,帮助审稿并提出很多建议,所以,本书得以出版,第一需要感谢的就是钟伦甫同学。
其次,我要感谢华章出版社的杨福川和李艺,福川兄在接到我的出版意向之后,快速地跟进和落实,在本书初稿编写完成时马上着手出版,诸位得以在2016年上半年就手捧此书,皆需感谢福川兄的重点关注和推进。
最后要感谢我的父母,感谢他们把我带到这个世界上并让我做自己想做和要做的事情。

上架指导

计算机\程序设计

封底文字

去年雪球花费了很大精力对内部系统进行了微服务化改造,我们选择了 SpringBoot 作为微服务化的基础,当时关于 SpringBoot的中文资料还很少。最近听说福强老师写了一本关于 SpringBoot 的书,当看到书的目录后第一感觉就是如果我们当初有这本书在手绝对可以少走很多弯路。本书介绍了很多我们不曾研究透彻的用法和原理。更让人惊喜的是本书还包含关于微服务的原理和最佳实践的章节,让人耳目一新,收获颇丰。强烈推荐给每一个对 SpringBoot 和微服务感兴趣的人。
王栋 雪球CTO
________________________________________
福强的第一本书曾给我耳目一新的感觉,现在他的新作又一次带给我惊喜。和其他书籍相比,本书既在道上深入一层,又在术的层面,对SpringBoot庖丁解牛, 对现在流行的微服务讲解得淋漓尽致,是为精品。若我想在SpringBoot上精进一层,则必读此书,然后请王老师喝到扶墙为止。
杜江 21CTO社区创始人
________________________________________
本书从宏观上介绍了微服务的架构理论,又从技术实现上解析了SpringBoot的各种微妙之处,理论和实践兼备,来得非常及时。
曹祖鹏 千米网首席架构师

图书序言

随着微服务(Micro Service)理念的盛行,一个流行的概念也随之诞生—微框架(Micro Framework),而其中最耀眼的,当属SpringBoot。
虽然Dropwizard是公认的最早的微框架,但SpringBoot“青出于蓝而胜于蓝”,背靠Spring框架衍生出来的整个生态体系,无论是从“出身”,还是社区的支撑上,SpringBoot都是微框架选型的不二之选。
实际上,SpringBoot并非单单一个微框架的概念就可以概括,笔者认为将SpringBoot看作一种最佳实践会更为贴切:一种Spring框架及其社区对“约定优先于配置”(Convention Over Configuration)理念的最佳实践。
温故而知新,笔者将通过本书带领大家回顾Spring框架的历史,进而引领大家探索SpringBoot框架的来龙去脉, 最终引领大家去探索基于SpringBoot的微服务实践之路。希望各位能够享受这段文字旅程并有所收获。

作者简介

王福强 著:王福强,资深Java技术专家和架构师,具有多年一线开发经验和技术团队管理经验。在计算机语言、并发与并行编程、分布式系统设计与开发、大数据、实时计算等领域都积累了丰富的经验。先后在英极、 花旗、阿里巴巴等金融和互联网企业任职,主导和参与了多个重要的大型项目。现任挖财技术VP兼首席架构师。


推荐序

Foreword 1 推荐序1
2015年技术圈最火的名词大概就是微服务了。国内外的互联网技术会议上,但凡分享题目中包含“MicroService”,不论内容质量如何,一定人山人海、摩肩接踵。
追本溯源,服务化的架构思想十年前就是软件架构的标准范式。淘宝和阿里在2007年左右就开始奠定了大规模服务化架构的基础,经过几代架构师的努力,有了今天承载双十一规模的商业操作系统。这中间诞生的很多优秀的Java中间件也成为开源界备受追崇的范例。
但是对于很多中小企业而言,SpringBoot会是另一个性价比极高的选择。福强的这本书出现得恰逢其时,既有体系化的理论又不乏有价值的实践。对于想了解微服务和SpringBoot的架构师而言,是难得的修炼秘籍。

南天(本名是庄卓然) 阿里巴巴资深总监

推荐序2 Foreword 2
多年前,第一次见福强,就知道他在写书,那时就是关于Spring的书籍。等到出书后,我翻看之下,发现福强写得非常实用。
时隔若干年,福强又来信告知有新作问世,这是他经历几年的大型网站实践之后,在创业阶段写的书。在这个阶段还能坚持写作的人非常少,足以说明他对技术的执着和坚持。有了成熟大型网站和创业阶段的实践经验,本书不仅是SpringBoot的指南,还是各种实战经验的提炼和总结。福强不仅在Java,在Scala、Golang方面都有颇深的理解,这种跨语言方面对技术的融会贯通也为整个构建过程起着催化剂的作用。福强这次给大家带来的这本书,从不同角度对微服务这一热门话题进行了介绍和探讨,同时加入了自己多年的实践经验,值得一读。

Eric(中文名是王齐) 平安好医生CTO

图书目录

推荐序1
推荐序2
序言
前言
第1章 了解微服务 1
1.1 什么是微服务 1
1.2 微服务因何而生 2
1.3 微服务会带来哪些好处 4
1.3.1 独立,独立,还是独立 4
1.3.2 多语言生态 6
1.4 微服务会带来哪些挑战 8
1.5 本章小结 9
第2章 饮水思源:回顾与探索Spring框架的本质 11
2.1 Spring框架的起源 11
2.2 Spring IoC其实很简单 12
2.3 了解一点儿JavaConfig 14
2.3.1 那些高曝光率的Annotation 17
2.4 本章小结 18
第3章 SpringBoot的工作机制 19
3.1 SpringBoot初体验 19
3.2 @SpringBootApplication背后的秘密 20
3.2.1 @Configuration创世纪 21
3.2.2 @EnableAutoConfiguration的功效 22
3.2.3 可有可无的@ComponentScan 25
3.3 SpringApplication:SpringBoot程序启动的一站式解决方案 26
3.3.1 深入探索SpringApplication执行流程 27
3.3.2 SpringApplicationRunListener 30
3.3.3 ApplicationListener 31
3.3.4 ApplicationContextInitializer 32
3.3.5 CommandLineRunner 33
3.4 再谈自动配置 34
3.4.1 基于条件的自动配置 34
3.4.2 调整自动配置的顺序 35
3.5 本章小结 35
第4章 了解纷杂的spring-boot-starter 37
4.1 应用日志和spring-boot-starter-logging 39
4.2 快速Web应用开发与spring-boot-starter-web 40
4.2.1 项目结构层面的约定 41
4.2.2 SpringMVC框架层面的约定和定制 41
4.2.3 嵌入式Web容器层面的约定和定制 42
4.3 数据访问与spring-boot-starter-jdbc 43
4.3.1 SpringBoot应用的数据库版本化管理 46
4.4 spring-boot-starter-aop及其使用场景说明 48
4.4.1 spring-boot-starter-aop在构建spring-boot-starter-metrics自定义模块中的应用 49
4.5 应用安全与spring-boot-starter-security 58
4.5.1 了解SpringSecurity基本设计 61
4.5.2 进一步定制spring-boot-starter-security 66
4.6 应用监控与spring-boot-starter-actuator 68
4.6.1 自定义应用的健康状态检查 70
4.6.2 开放的endpoints才真正“有用” 73
4.6.3 用还是不用,这是个问题 75
4.7 本章小结 77
第5章 SpringBoot微服务实践探索 79
5.1 使用SpringBoot构建微服务 79
5.1.1 创建基于Dubbo框架的SpringBoot微服务 80
5.1.2 使用SpringBoot快速构建Web API 91
5.1.3 使用SpringBoot构建其他形式的微服务 104
5.2 SpringBoot微服务的发布与部署 110
5.2.1 spring-boot-starter的发布与部署方式 112
5.2.2 基于RPM的发布与部署方式 115
5.2.3 基于Docker的发布与部署方式 120
5.3 SpringBoot微服务的注册与发现 124
5.4 SpringBoot微服务的监控与运维 127
5.4.1 推还是拉,这一直是个问题 131
5.4.2 从局部性触发式报警到系统性智能化报警 132
5.5 SpringBoot微服务的安全与防护 133
5.6 SpringBoot微服务体系的脊梁:发布与部署平台 135
5.7 本章小结 138
第6章 SpringBoot与Scala 139
6.1 使用Maven构建和发布基于SpringBoot的Scala应用 140
6.1.1 进一步简化基于Maven的Scala项目创建 146
6.1.2 进一步简化基于Scala的Web API开发 167
6.2 使用SBT构建和发布基于SpringBoot的Scala应用 174
6.2.1 探索基于SBT的SpringBoot应用开发模式 175
6.2.2 探索基于SBT的SpringBoot应用发布策略 181
6.3 本章小结 184
第7章 SpringBoot总结与展望 186

教学资源推荐
作者: Patrick Henry Winston, Sundar Narasimhan
作者: 谢满德 邵俊 编著
作者: Mario Hewardt Daniel Pravat
参考读物推荐
作者: (美)Cameron Wakefield Henk-Evert Sonder 等
作者: (美)Fred Long Dhruv Mohindra Robert C. Seacord Dean F. Sutherland David Svoboda 著