前言

Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。

微服务是可以独立部署、水平扩展、独立访问(或者有独立的数据库)的服务单元,springcloud就是这些微服务的大管家,采用了微服务这种架构之后,项目的数量会非常多,springcloud作为大管家需要管理好这些微服务,自然需要很多小弟来帮忙。

微服务的框架那么多比如:dubbo、Kubernetes,为什么就要使用Spring Cloud的呢?

  • 产出于spring大家族,spring在企业级开发框架中无人能敌,来头很大,可以保证后续的更新、完善。比如dubbo现在就差不多死了
  • 有spring Boot 这个独立干将可以省很多事,大大小小的活spring boot都搞的挺不错。
  • 作为一个微服务治理的大家伙,考虑的很全面,几乎服务治理的方方面面都考虑到了,方便开发开箱即用。
  • Spring Cloud 活跃度很高,教程很丰富,遇到问题很容易找到解决方案
  • 轻轻松松几行代码就完成了熔断、均衡负责、服务中心的各种平台功能

《Spring Cloud开发从入门到实战》以Spring Cloud微服务架构为中心,全面系统地介绍了Spring Cloud常用组件的应用,以及微服务涉及的相关技术。本书内容包括:微服务介绍、微框架Spring Boot、服务注册与发现、服务的提供者与消费者、模板引擎、服务的雪崩与熔断、分布式配置中心、API网关、Cloud Foundry、消息驱动、单点登录、Activity工作流、ElasticSearch、ELK Stack、多线程、Redis缓存技术、 微服务监控、API文档、持续集成和金丝雀部署,最后以SpringCloud实战案例来进一步演练Spring Cloud的微服务解决方案。

 

学习目录

 

《Spring Cloud开发从入门到实战》主要内容展示

第1章什么是微服务

微服务是业界最新的流行语,每个人似乎都在以这种或那种方式谈论它或者使用它。

 

 

第2章微框架Spring Boot

Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式进行配置,从而使开发人员不再需要定义样板化的配置。

 

 

第3章从服务注册与发现说起

Eureka是Spring Cloud Netflix微服务套件中的一部分,可以与Spring Boot构建的微服务很容易地整合起来。Eureka是一个基于REST的服务,主要在AWS云中使用,包含服务器端和客户端组件。

 

 

第4章服务提供者与服务消费者的关系

什么是服务提供者和服务消费者?服务提供者是指服务的被调用方,即为其他服务提供服务的服务;服务消费者是指服务的调用方,即依赖其他服务的服务。

 

 

第5章模板引擎

Beet是Bee Template Language的缩写。它绝不是简单的另外一种模板引擎,而是新一代的模板引擎。它功能强大,性能良好,超过当前流行的模板引擎,而且还易学、易用。

 

 

第6章服务的雪崩与熔断

典型的分布式系统由许多协作在一起的服务组成,这些服务容易出现故障或延迟响应。如果服务失败,可能会影响性能的其他服务,并可能使应用程序的其他部分无法访问,或者在最坏的情况下会导致整个应用程序崩溃。

 

 

第7章分布式配置中心

Spring Cloud Config可以与任何语言结合在-起协同开发。 Spring Cloud Config后端默认采用Git存储,因此我们可以轻松使用Git客户端工具管理配置信息。

 

 

第8章API网关

随着以API为中心的IT产品规模的增长,API网关和管理层变得越来越常见。然而,为什么我们需要一个API网关?

 

 

第9章Cloud Foundry

 

 

注意:SpringCloud从入门到实战,转发+关注,后台私信【666】或【111】即可免费领取!

第10章消息驱动

绑定器( Binder )是Spring Cloud Stream中-一个非常重要的概念。在没有绑定器这个概念的情况下,Spring Boot应用直接与消息中间件进行信息交互时,由于各消息中间件构建的初衷不同,它们的实现细节会有较大的差异性,这使得我们实现的消息交互逻辑非常笨重,因为对具体的消息中间件实现细节有太多的依赖,当消息中间件有较大的变动升级或更换中间件的时候,就需要付出非常大的代价来实施。

 

 

 

第11章单点登录

Spring Security没有实现自己的SSO,而是整合了耶鲁大学开发的CAS (中央认证服务)单点登录(JA——SIG),这是当前使用很广泛的-一种SS0实现,基于CAS的结构实现。

 

 

第12章Activity工作流

Activity.工作流引擎是Activity工作的核心,负责生成流程运行时的各种实例及数据、监控和管理流程的运行。

 

 

第13章ElasticSearch

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful Web接口。ElasticSearch是 用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索、稳定、可靠、快速,且安装使用方便。

 

第14章ELK Stack

ELK Stack是由ElasticSearch、Logstash、Kibana三 个开源软件组合而成,从而形成实时日志收集展示系统。接下来分别介绍每个软件。ElasticSearch是一种基于JSON的分布式搜索和分析引擎,专为水平可扩展性、最高可靠性和易管理性而设计。

Logstash是一个动态数据收集管道, 具有可扩展的插件生态系统和强大的ElasticSearch协同作用。Kibana通过UI提供数据可视化。

 

第15章多线程

支持通过多线程(multithreading),来并行的执行代码。每个线程都有一个独立的执行路径(execution path)能和其它的线程同时运行。被操作系统和CLR直接创建的,运行在独立的一个线程的C#客户端程序(Console, WPF, or Windows Forms)叫做主线程,而额外创建的其它线程就是多线程。

 

 

第16章Redis缓存技术

Redis是一种高级的key:value存储系统

 

 

第17章微服务监控

微服务监控与传统应用的监控相比,最明显的改变是视角的改变,我们把监控从机器视角转换成以服务为中心的视角。在微服务的视角下,监控可以从数据维度、资源维度和代码维度进行分层。

 

 

第18章API文档

Swagger是为了描述-套标准的而且和语言无关的RESTAPI的规范。对于外部调用者来说,只通过Swagger文档即可清除Server端提供的服务,而无须阅读源码或接口文档说明。官网上有关于Swagger的丰富的资源,包括Swagger Editor、Swagger UI以及Swagger为各种开发语言提供的SDK。这些资源为REST API的服务提供者和服务调用者提供了极大的便利。

 

 

第19章持续集成

Jenkins只是一一个平台,真正运作的都是插件。Jenkins什么 插件都有,这就是Jenkins流行的原因。Hudson是Jenkins的前身,是基于Java开发的一一种持续集成工具,用于监控程序重复的工作。

Hudson后来被收购,成为商业版。后来创始人又写了一个Jenkins,功能上远远超过Hudson。Maven是一个项目构建和管理的工具,提供了帮助管理构建、文档、报告、依赖、scms、 发布、分发的方法,可以方便地编译代码、进行依赖管理、管理二进制库等。

Maven的好处在于,可以将项目过程规范化、自动化、高效化以及强大的可扩展性,利用Maven自身及其插件还可以获得代码检查报告、单元测试覆盖率,实现持续集成等。

 

 

第20章金丝雀部署

金丝雀部署的起源开始,这是一个古老的英国采矿实践。根据史密森尼学会的KatEschner的说法,这种做法包括使用“煤矿中的金丝雀检测--氧化碳和其他有毒气体,然后再伤害人类”。为了确保地雷对他们来说是安全的,矿工们首先发送金丝雀;如果金丝雀发生了不好的事情,就是矿工放弃矿井的警告。

当想发布一个新版本的应用程序时,使用一只金丝雀确保新的变化可以为更广泛的公众生存。这只是确定金丝雀将是谁的问题。为简单起见,一些组织认为金丝雀占流量的5%。因此,如果新更改出现问题,只有5%的用户会受到影响。还可以使用更多不同颜色和大小的金丝雀,以增加您对新变化的信心。

在确信新的更改很有用后,可以将更改推送给其他用户。现在可以摆脱金丝雀,因为它仅用于确保矿工(更广泛的受众)不会受到新变化的负面影响。

 

 

第21章Spring Cloud实战

项目选用Spring Cloud微服务解决方案,框架的搭建基于Spring Boot,使用到的技术有Feign、Hystrix、 Ribbon、 Eureka、 Cloud- Config、OAuth2.0、 ES。

 

 

写在最后

如何领取?

————转发+关注,后台私信【111】或【666】免费领取SpringCloud从入门到实践(100%纯免费领取)