本书以Spring Cloud为主导,以电商平台为实例,从服务架构设计的角度,对架构设计、程序开发、运维部署三个层面进行了详细的阐述。本书不仅详细介绍了如何使用Spring Cloud工具套件进行微服务应用的开发,还介绍了如何结合Consul、Docker、Kubernets和Jenkins等的使用方法,将开发的微服务应用以一种可扩展的方式在云端发布。通过对本书的系统学习,读者可快速将所掌握的知识应用于实际工作中,提高自身的职业竞争力。
本书的读者对象为广大的Java开发者、系统架构师和系统运维人员。本书特别适合使用过Spring开源框架或具有一定Spring框架基础知识的读者阅读。
本书按架构设计、程序开发、运维部署层层递进讲解。
代码全部赠送,作者定期维护。
内容包括Spring Cloud、MyBatis、MongoDB、Docker Swarm、Kubernetes等。
陈韶健,一个资深的IT从业人员,多年并且至今从事于程序开发、架构设计和运维管理等工作,热衷于开源技术的探讨和研究。近几年来,根据自己的工作经验和实践写了几本技术书:《深入实践Spring Boot》《Neo4j全栈开发》《Spring Cloud与Docker高并发微服务架构设计实施》等,这些书均可作为一种实际工作的参考工具使用。
前 言
越来越多的企业使用Spring Cloud实现微服务架构设计。我们可以看到这样一种现象:不管是全新开发,还是系统重构,大家似乎都在争先恐后地使用微服务。对于一个Java开发人员来说,学习微服务相关知识大有裨益。
两年前,我写了《Spring Cloud与Docker高并发微服务架构设计实施》一书,于2018年6月出版,得到了许多读者的认可。随着Spring Cloud的版本更新和技术升级,我对原书的内容进行了更新和升级。因为原书名太长,所以本次改版将以一个全新的书名面世,于是就诞生了这本新书《Spring Cloud微服务架构实战》,读者不妨把本书当作对原书的一次改版。
本书的内容和结构将在保持原书风格的基础上,进行全面的更新和升级,主要体现在以下三个方面。
? 本书仍以电商平台作为案例,但使用的代码,已经根据官方版本进行全面升级,并且对项目结构进行了全面的精简化处理,使其更适合实际的开发习惯。
? 在数据库使用方面,从原来单一化使用JPA和MySQL,转变为多样化的设计,以适应不同业务场景的需求。同时,增加了MyBatis开发框架的使用和MongoDB的开发案例等章节。
? 在运维部分中,不仅增加了使用公有云的设计,而且对于部署工具,在使用Docker容器引擎的基础上,介绍了一些高级工具,如Docker Swarm部署工具、Kubernetes工具的使用案例。
期望通过本书,我能与读者一起,共同经历一次愉悦的微服务构建之旅。
本书的读者对象
本书的读者对象为广大的Java开发者、系统架构师和系统运维人员。本书特别适合使用过Spring开源框架或具有一定Spring框架基础知识的读者阅读。
本书结构
本书由三部分组成,结构如下所示:
第一部分 架构设计
第1章 微服务架构与Spring Cloud
第2章 高并发微服务架构设计
第3章 大型电商平台设计实例
第二部分 程序开发
第4章 开发环境准备
第5章 微服务治理
第6章 类目管理微服务开发
第7章 库存管理与分布式文件系统
第8章 海量订单系统微服务开发
第9章 移动商城的设计和开发
第10章 商家管理后台与SSO设计
第11章 平台管理后台与商家菜单资源管理
第三部分 运维部署
第12章 云服务环境与Docker部署工具
第13章 可扩展分布式数据库集群的搭建
第14章 高可用分布式文件系统的组建
第15章 使用Jenkins实现自动化构建
实例代码
本书的实例代码存放在开源中国的码云代码仓库中,读者可以通过下列链接打开各个项目工程进行下载或使用Git检出:
https://gitee.com/chenshaojian/projects
检出项目后,请获取本书实例的分支V2.1。以后如有代码更新,将会使用新的分支发布,请读者留意。
勘误与反馈
在阅读本书过程中,遇到任何问题都可以通过如下链接发起话题与笔者交流。在本书出版后,如有勘误,也会在这里发布:
https://gitee.com/chenshaojian/SpringCloud/issues
致谢
感谢一直以来给予我无限支持的朋友们,包括出版社的编辑及其相关工作人员、广大的读者,以及我所有的同事和家人。你们的支持和鼓励,让我感到无比幸福,同时充满奋斗的激情。感谢曾经与我一起进行过微服务设计和开发的伙伴,正是我们共同成长的经历,才让先进的技术在实践中得以呈现。
如果书中有任何不对的地方或者纰漏,敬请读者不吝赐教,我将感激不尽。