前言
Spring作为企业级技术框架中的佼佼者没有错过微服务这个风口。从它第一天出现就注定它的不平凡,Spring通过其强大的抽象能力以及技术集成能力,结合Netflix成熟的开源服务套件,一出现就成为最热门的微服务技术集成方案。
Spring Cloud也继承了Spring 一如既往的风格,考虑了微服务的几乎所有功能,另外组件化的思维也为企业微服务架构技术落地提供了更多的灵活性。企业不仅可以通Spring Cloud快速建立起自己的微服务技术体系,也可以通过整合Spring Cloud技术组件为已有的技术方案赋能。
本文精巧实用、快速入门,由资深Spring Cloud践行者经验集结!
本文以组件应用与原理分析结合,并以综合案例融合微服务和DevOps实践,带领大家吃透springcloud!
目录
主要内容
第1章微服务与Spring Cloud;微服务架构将一个应用拆分成多个独立的、具有业务属性的服务,每个服务运行在不同的进程中,服务与服务之间通过轻量级的通信机制互相协作、互相配合,从而为终端用户提供业务价值。因此,微服务架构强调的是一种独立开发、独立测试、独立部署、独立运行的高度自治的架构模式,也是一种更灵活、更开放、更松散的演进式架构。
希望通过本章所介绍的微服务的定义、核心特征、优缺点,以及微服务实现框架Spring Cloud的综合介绍,大家能够对微服务以及Spring Cloud有全面的了解,接下来的章节将逐一、详细介绍Spring Cloud的各个组件。
第2章服务发现:Eureka;本章详细讲解了Eureka组件的工作原理,并结合示例介绍了Eureka 的服务提供方和服务调用方的使用步骤。在进阶场景章节中我们深入探究了各个场景下使用Eureka的各种解决方案与自定义场景的配置。下个章开始学习如何使用Config组件来对Eureka以及其他组件进行动态化配置。
第3章配置中心: Config;有了Spring Cloud Config,可以实现对任意一个集成过的Spring程序进行动态化参数配置及热生效等相关操作,从而实现程序与配置隔离,解耦编码与环境之间的耦合。这同样是微服务架构所需要的。接下来我们将进入下一章开始学习服务端之间的调用。
第4章客户端负载均衡:Ribbon;通过本章的学习,可以了解到Ribbon作为负载均衡器对高性能、高可用等方面起到的不可忽视的作用。当然作为一个独立的组件,同样可以将它集成进需要负载均衡的任何场景,这需要对Ribbon有深入理解,相信读者通过本章的学习,这应该不是一件困难的事情。
第5章RESTful客户端:Feign;Feign大大简化了HTTP调用的开发代码量,提高了编码友好度,使得用户能够友好地面向接口开发,而不是生硬地面对HTTP参数进行开发。同时,Feign 完美地支持Ribbon,Hystrix 等也是其天然的优势。接下来介绍 Hystrix在熔断方面的本领。
第6章熔断器:Hystrix;Hystrix之于分布式就像大坝之于洪川,当企业级服务达到一定量级时一定缺不了Hystrix这种能够灵活配置、稳定的熔断组件。同时其监控仪表盘也非常详尽、友好,以至不用二次开发或者稍加二次开发即可投入使用。在介绍完Hystrix之后,我们将介绍另外一个重量级组件Zuul。
第7章路由网关:Zuul;市面上的分发网关非常多,但是能够像Zuul这样经历过各大互联网公司大流量检验同时功能又如此完善的网关产品并不多。另外,与Spring Cloud生态的完美融合让其成为微服务架构中不可或缺的一个关键节点。
第8章网关新选择:Gateway;根据本章节的学习,相信大家已经对Gateway有了一个全面的了解。尽管Gateway相比Zuul多了很多新特性,性能上可能比Zuul更有优势,但是目前Gateway脱离孵化器还不久,项目本身还不够成熟,并未接受过大面积使用的考验,所以建议大家在网关选型的时候还是需要充分考虑生产环境。
第9章调用链追踪:Spring Cloud Sleuth;在本章学习了Sleuth之后,读者是否已经迫不及待地思考如何将其应用于企业级环境当中了呢?业界整套日志采集分析展示的解决方案如ELK、Flume等。读者可以根据自身的实际场景像搭积木一样来组合选择适合自己日志采集、传输、分析、展现等各个环节的不同实现。
第10章加密管理: Vault;在学习完本章之后,大家应该能够熟练使用Spring Cloud Vault对敏感数据的保护惯例,那么接下来一起学习Spring Cloud还为我们提供了哪些实用的模块吧!
第11章公共子项目;本章介绍了一个客户端工具以及两个注册中心的实现。我们可以在具体的应用场景中根据不同的需要选择不同的注册中心,以及很方便地使用Spring为我们提供的CLI脚手架客户端。至此,本篇的内容就介绍完了,接下来将进入第二篇,介绍关于消息处理等方面的组件。
第12章消息驱动: Spring Cloud Stream;当我们有了Spring Cloud Stream,开始以消息驱动的业务场景实现时,可以不用太关注具体的消息中间件具体实现。我们直接面向Spring Cloud Stream开发时屏蔽了中间件的实现对具体开发产生的差异性影响,做到了业务开发与工具实现的彻底解耦,好处不言而喻。
下一章将学习使用Spring Cloud Bus 如何进行事件广播。
第13章消息总线:Spring Cloud Bus;由于消息总线在微服务架构系统的广泛使用,所以它同配置中心一样,几乎是微服务架构中的必备组件。Spring Cloud Bus作为Spring Cloud中控制消息广播的组件,通过它可以非常容易地搭建起消息总线,同时实现一些消息总线中的常用功能。
第14章批处理:Spring Cloud Task;Spring Cloud Task有助于更简单地创建短时运行的微服务。Spring Cloud团队为在JVM上运行短时应用的需求提供基本的技术支持,由它开发的项目可以在本地云或者Spring Data Flow中启动。通过本章的学习,可以理解Spring Cloud Task 的概况、用途和使用方法,以及Spring Cloud Task的设计理念。
第15章利用Docker进行编排与整合;本章通过一个简单的项目案例将Spring Cloud核心组件串联起来,并整合了服务鉴权功能,将其以Docker化的形式进行了封装打包。希望本章使读者能够在实战中得出对Spring Cloud更深入、更实际的理解,对没有接触过Docker的读者进行引导。
这份【极简springcloud实战】共有222页,转发此文关注小编后,扫码下方来获取!
总结
本文不仅介绍了微服务的背景与Spring Cloud技术体系价值,让读者快速了解全貌更在细节层面对Spring Cloud各个组件进行了细致的讲解与深入的原理剖析,最后以微服务技术的视角,结合时下热门的容器化、CI/CD技术,介绍了微服务未来的运维形态和发展方向,真正做到了让读者既知其然,也知其所以然,更知其未来。
优秀的技术文档阅读完后让人感觉如同品尝香醇的美酒,口感复杂却层次分明,本文也能够给你带来这样的感觉。
希望大家能够努力地吃透本文给大家带来的大量知识点,也希望大家能够掌握并且灵活运用,提升自己的技术深度和广度,也希望本文能够得到大家的喜欢!!!