- Spring Cloud微服务架构开发
- 黑马程序员编著
- 2018字
- 2025-04-02 16:35:04
前言
互联网的飞速发展给人们的工作和生活带来了翻天覆地的变化,企业的IT环境和架构体系也逐渐发生变革,其中最重要的就是过去的单体应用架构发展为当今流行的微服务架构。就目前来看,Spring Cloud是微服务架构领域的翘楚,它经过快速迭代发展,目前已经成为一套完整的微服务架构解决方案。
◆ 为什么要学习本书
Spring Cloud作为优质的微服务架构解决方案,得到了国内越来越多人的关注。为了帮助读者更容易地学习新技术,本书站在初学者的角度,采用理论与实践相结合的方式,先简单为读者介绍Spring Cloud中各个组件是什么,能做什么,然后通过项目深入阐释其工作过程,从而让读者对所学知识加以巩固。本书语言通俗易懂,相关案例精练实用,旨在让读者学习理论知识的同时,提高学习兴趣,强化动手能力。
◆ 如何使用本书
各章主要讲解的内容如下。
第1章首先介绍3种架构,包括单体架构、SOA架构、微服务架构,通过介绍这3种架构的发展演变过程,让读者认识到微服务架构的特点和功能;然后针对Spring Cloud进行讲解,包括Spring Cloud的特点和相关组件;最后介绍了Spring Cloud的版本号,以及Spring Cloud与Spring Boot的兼容性。通过本章的学习,读者应该能够初步认识微服务架构以及Spring Cloud,为后续Spring Cloud开发奠定基础。
第2章主要讲解服务的注册与发现框架Eureka。首先介绍了Eureka的工作原理、服务提供者和服务消费者;然后通过开发第一个Eureka应用,加深读者对Eureka工作机制的理解;最后在第一个Eureka应用的基础上,搭建了一个Eureka集群,并讲解Eureka的相关配置。通过本章的学习,读者应该能够掌握Eureka的工作机制,理解Eureka在Spring Cloud微服务架构开发中的重要性。
第3章主要介绍Spring Cloud中的客户端负载均衡工具Ribbon,包括什么是负载均衡、认识Ribbon、开发第一个Ribbon实例、Ribbon的工作原理及Ribbon负载均衡策略。通过本章的学习,读者应该能够了解负载均衡,并学会使用Ribbon和Eureka实现负载均衡,了解Ribbon负载均衡策略及工作原理。
第4章首先介绍Feign的概念,通过第一个Feign程序,介绍Feign的参数绑定及Feign继承特性的使用;然后介绍了Feign的一些配置,包括Ribbon的配置、日志配置和其他相关配置;最后介绍了Feign服务调用的工作原理和负载均衡的实现原理。通过本章的学习,读者应该能够灵活运用Feign进行声明式服务调用。
第5章主要讲解服务容错保护库Hystrix。首先介绍Hystrix的工作流程、熔断器原理,介绍在Feign中使用Hystrix熔断器,加深读者对Hystrix容错的理解;然后讲解使用Hystrix Dashboard监控熔断器的状态;最后讲解使用Hystrix和Turbine进行聚合监控。通过本章的学习,读者应该能够熟练运用Hystrix进行服务容错处理,理解Hystrix在Spring Cloud微服务架构开发中的重要性。
第6章主要讲解服务网关Zuul。首先带读者认识服务网关Zuul,并通过一个案例带领读者快速学习Zuul的用法;然后介绍Zuul路由的映射规则配置;接着介绍Zuul与Hystrix结合实现熔断,以及Zuul中的Eager Load配置;最后介绍Zuul过滤器的用法。通过本章的学习,读者可以理解Zuul在微服务架构开发中的重要性,并能够在实际微服务架构开发中灵活使用Zuul。
第7章主要讲解分布式配置中心Spring Cloud Config的使用。首先带读者认识Spring Cloud Config;然后通过两个案例讲解Config Server如何从本地仓库和远程Git仓库读取配置文件;接着介绍如何搭建高可用的Config Server;最后讲解Spring Cloud Config与Spring Cloud Bus整合实现配置自动刷新。通过本章的学习,读者应该能够独立搭建高可用的Config Server集群,学会用Config Server从本地和远程Git仓库读取配置文件,并且可以在项目中灵活运用Spring Cloud Bus自动刷新配置,真正体会到Spring Cloud Config在微服务架构开发中的重要性。
第8章主要讲解基于Spring Cloud的消息驱动框架Stream。首先讲解Stream的基础知识和用途;然后通过案例带领读者了解Stream的发布-订阅模式,以及消费组和消息分区的使用。通过本章的学习,读者应该能够对RabbitMQ和Spring Cloud Stream框架的知识有一个基础的认识。
第9章主要讲述分布式服务追踪框架Spring Cloud Sleuth。首先讲解了Spring Cloud Sleuth的基本概念;然后通过一个案例详细讲解Spring Cloud Sleuth如何整合Zipkin;最后讲解如何在Zipkin链路中添加自定义数据,以及如何使用RibbonMQ的方式收集链路数据和在MySQL数据库中存储链路数据。通过本章的学习,读者应该能够对分布式链路追踪有一个初步了解,并在实际开发中灵活处理类似的链路追踪和存储方式。
第10章主要使用Spring Cloud微服务架构,整合Spring Cloud相关的组件实现了一个简单的购物网站系统。通过本章的学习,读者应该能够熟悉Spring Cloud模块化开发的架构设计与开发流程,掌握Spring Cloud各个模块的搭建和配置方法。
读者若不能完全理解书中所讲知识,可登录“高校教辅平台”,配合平台中的教学视频进行学习。此外读者在学习的过程中,务必要勤于练习,确保真正获取所学知识。若在学习的过程中遇到无法解决的困难,建议读者莫要纠结于此,继续往后学习,应可豁然开朗。
◆ 致谢
本书的编写和整理工作由传智播客教育科技股份有限公司人员完成,主要参与人员有高美云、李勇、王禹、王金宇等,全体人员在近一年的编写过程中付出了大量辛勤的劳动,在此一并表示衷心的感谢。
◆ 意见反馈
尽管我们付出了最大的努力,但书中难免会有不妥之处,欢迎各界专家和读者朋友们来信给予宝贵意见,我们将不胜感激。您在阅读本书时,如发现任何问题或不认同之处,可以通过电子邮件与我们取得联系。
电子邮箱:itcast_book@vip.sina.com。
黑马程序员
2019年11月于北京