[转]Spring Cloud微服务架构进阶

        最近几年,随着DevOps和以Docker为主的容器技术的发展,云原生应用架构和微服务变得流行起来。云原生包含的内容不少,如DevOps、持续交付、微服务、敏捷等,本书关注的是其中的微服务。在大概三年前,我在互联网上查找关于微服务落地的方案,搜索到了Spring社区推出的Spring Cloud项目,在那个时候就开始关注Spring Cloud,发现Spring Cloud基于Spring Boot,引入依赖后开箱即用,使用很是方便。当时Spring Cloud中的组件数量和成熟度远不如现今,我刚接触时,Spring Cloud的版本为Brixton的Milestone。后来我在项目中尝试使用Spring Cloud,主要用了Spring Cloud Config和Spring Cloud Stream,使用过程当中发现这两个组件在易用性、功能性等各方面都使人满意,后来慢慢在项目中铺开使用。git

       在应用Spring Cloud的过程当中,我见证了它的不断完善和丰富。在其间也遇到了一些坑,经过源码分析才解决了一些问题。Spring Cloud并无重复造轮子,这些组件有些是Spring Cloud的全新项目,如Spring Cloud Gateway、Spring Cloud Config等,还有不少是基于业界现成的开源组件,如Netflix的合集Netflix Ribbon、OpenFeign等。github

         在2017年下半年的时候,我开始对每一个组件进行梳理,深刻到每一个组件的实现原理和源码。毕竟Spring Cloud中包含了众多组件,断断续续花了半年时间把各个组件大概梳理了一遍,没想到这些积累成为本书的写做基础。架构

         本书详细介绍Spring Cloud及其在微服务架构中的应用。 全书共13章,第1章介绍微服务架构相关的基本概念;第2章介绍Spring Cloud中包含的组件以Spring Cloud约定的上下文;第3章介绍Spring Cloud的基础:Spring Boot,包括如何构建一个Spring Boot服务、Spring Boot的配置文件和Actuator提供的监控管理端点;第4至第13章详细讲解Spring Cloud组件,包括:Eureka(服务注册与发现)、OpenFeign(声明式Restful客户端)、Hystrix(断路器)、Ribbon(客户端负载均衡器)、Gateway(API网关)、Config(配置中心)、Stream(消息驱动)、Bus(消息总线)、Security(认证与受权)、Sleuth(服务链路追踪)。本书为读者揭开了Spring Cloud组件实现的技术内幕,并提供了进阶应用的思路,能够做为使用Spring Cloud进行微服务架构实践的参考书。负载均衡

        本书详细讲解了Spring Cloud中的重要组件,在介绍每一个组件时,从基础应用的案例着手,尽量将这类组件的设计思路和方法讲清楚,以帮助读者加深理解,而后结合源码讲解组件的实现原理,最后还介绍了组件的进阶功能与应用。本书适合具备一些基础的Java开发人员,特别适合正在尝试微服务实践并想要深刻了解Spring Cloud各个组件原理的开发人员、架构师。书中的不少案例都提供了源代码,能够随时下载,下载地址为:微服务

github地址:https://github.com/Advanced-SpringCloud/cloud-book源码分析

gitee地址:https://gitee.com/Advanced-SpringCloud/cloud-book设计

        本书最终由三我的共同完成:朱荣鑫、张天和黄迪璇。具体分工以下:第一、八、九、十一、13章由朱荣鑫编写,第二、五、七、10章由张天编写,第三、四、六、12章由黄迪璇编写,全书由朱荣鑫统稿。可以完成本书须要感谢不少人,丁二玉老师在本书的撰写过程当中提供了不少内容组织方面的建议,花了不少休息时间帮助审稿,很是感谢丁老师的大力帮助;感谢笔者所在的公司,一个年轻而富有活力的公司,为咱们提供了很好的平台,而且积累了不少微服务架构实践的经验;感谢机械工业出版社的吴怡编辑及其余工做人员,为本书投入了不少精力。因为时间有限,书中不免存在一些问题,请读者不吝赐教。blog

《Spring Cloud微服务架构进阶》图书已经在京东等网店上架。开发

6160636-5464bcce478484e1.jpg