《SpringBoot揭秘:快速构建微服务体系》目录—导读

本文涉及的产品
云原生网关 MSE Higress,422元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 随着微服务(Micro Service)理念的盛行,一个流行的概念也随之诞生—微框架(Micro Framework),而其中最耀眼的,当属SpringBoot。 虽然Dropwizard是公认的最早的微框架,但SpringBoot“青出于蓝而胜于蓝”,背靠Spring框架衍生出来的整个生态体系,无论是从“出身”,还是社区的支撑上,SpringBoot都是微框架选型的不二之选。


71df4a4bff37ab53b4cdbf946a0748a2addea8f4

前  言

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

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

相关文章
|
17天前
|
运维 Kubernetes Docker
利用Docker和Kubernetes构建微服务架构
利用Docker和Kubernetes构建微服务架构
|
23天前
|
运维 持续交付 API
从零构建微服务架构:一次深度技术探索之旅####
【10月更文挑战第28天】 本文记录了作者在从零开始构建微服务架构过程中的深刻技术感悟,通过实战案例详细剖析了微服务设计、开发、部署及运维中的关键要点与挑战。文章首先概述了微服务架构的核心理念及其对企业IT架构转型的重要性,随后深入探讨了服务拆分策略、API网关选型、服务间通信协议选择、容器化部署(Docker+Kubernetes)、以及持续集成/持续部署(CI/CD)流程的设计与优化。最后,分享了在高并发场景下的性能调优经验与故障排查心得,旨在为读者提供一套可借鉴的微服务架构实施路径。 ####
56 3
|
27天前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个具有动态路由和菜单功能的前后端分离应用。
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个具有动态路由和菜单功能的前后端分离应用。首先,创建并配置 Spring Boot 项目,实现后端 API;然后,使用 Ant Design Pro Vue 创建前端项目,配置动态路由和菜单。通过具体案例,展示了如何快速搭建高效、易维护的项目框架。
100 62
|
1天前
|
弹性计算 持续交付 API
构建高效后端服务:微服务架构的深度解析与实践
在当今快速发展的软件行业中,构建高效、可扩展且易于维护的后端服务是每个技术团队的追求。本文将深入探讨微服务架构的核心概念、设计原则及其在实际项目中的应用,通过具体案例分析,展示如何利用微服务架构解决传统单体应用面临的挑战,提升系统的灵活性和响应速度。我们将从微服务的拆分策略、通信机制、服务发现、配置管理、以及持续集成/持续部署(CI/CD)等方面进行全面剖析,旨在为读者提供一套实用的微服务实施指南。
|
8天前
|
监控 Java 微服务
从零构建微服务架构:一次深度技术探索之旅####
本文作为一篇深度技术分享,引领读者踏上自底向上搭建微服务架构的征途,旨在通过实战经验剖析,揭示微服务转型背后的技术挑战与解决方案。不同于常规摘要仅概述内容,本文摘要将直接以故事化手法,简述作者从单体应用困境出发,逐步迈向微服务化的心路历程,涵盖关键决策点、技术选型考量及实践收获,激发读者对微服务架构设计与实现的浓厚兴趣。 ####
|
2月前
|
Kubernetes 负载均衡 Docker
构建高效后端服务:微服务架构的探索与实践
【10月更文挑战第20天】 在数字化时代,后端服务的构建对于任何在线业务的成功至关重要。本文将深入探讨微服务架构的概念、优势以及如何在实际项目中有效实施。我们将从微服务的基本理念出发,逐步解析其在提高系统可维护性、扩展性和敏捷性方面的作用。通过实际案例分析,揭示微服务架构在不同场景下的应用策略和最佳实践。无论你是后端开发新手还是经验丰富的工程师,本文都将为你提供宝贵的见解和实用的指导。
|
19天前
|
Java
SpringBoot构建Bean(RedisConfig + RestTemplateConfig)
SpringBoot构建Bean(RedisConfig + RestTemplateConfig)
37 2
|
2天前
|
监控 持续交付 API
深入理解微服务架构:构建高效、可扩展的系统
深入理解微服务架构:构建高效、可扩展的系统
11 0
|
25天前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个前后端分离的应用框架,实现动态路由和菜单功能
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个前后端分离的应用框架,实现动态路由和菜单功能。首先,确保开发环境已安装必要的工具,然后创建并配置 Spring Boot 项目,包括添加依赖和配置 Spring Security。接着,创建后端 API 和前端项目,配置动态路由和菜单。最后,运行项目并分享实践心得,帮助开发者提高开发效率和应用的可维护性。
44 2
|
2月前
|
监控 API 持续交付
构建高效后端服务:微服务架构的深度探索
【10月更文挑战第20天】 在数字化时代,后端服务的构建对于支撑复杂的业务逻辑和海量数据处理至关重要。本文深入探讨了微服务架构的核心理念、实施策略以及面临的挑战,旨在为开发者提供一套构建高效、可扩展后端服务的方法论。通过案例分析,揭示微服务如何帮助企业应对快速变化的业务需求,同时保持系统的稳定性和灵活性。
46 9
下一篇
无影云桌面