SpringCloud简介

简介

Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。

图解

在这里插入图片描述
在这里插入图片描述

核心组件

API网关服务:Spring Cloud Zuul

  • Zuul功能:认证、压力测试、金丝雀测试、动态路由、负载削减、安全、静态响应处理、主动/主动交换管理
  • 配置
zuul:
  ignored-services: '*'  # 忽略配置
  routes:
    zxjx-crm: /zxjx/crm/**

声明式服务调用:Spring Cloud Feign

  • 可以理解为用户服务之间的调用,不经过api路由

  • 使用@EnableFeignClients(basePackages = {“cn.xxt.zxjx.crm”}),开启Feign

    • 扫描添加的微服务包
    • 被调用的API接口中参数必须使用@RequestParam中的value属性,指定参数名

分布式配置中心:Spring Cloud Config

  • 实现了对服务端和客户端中环境变量和属性配置的抽象映射。由于Spring Cloud Config实现的配置中心默认采用Git来存储配置信息,所以天然就支持对服务应用配置信息的版本管理

服务治理:Spring Cloud Eureka

客户端负载均衡:Spring Cloud Ribbon

服务容错保护:Spring Cloud Hystrix

消息总线:Spring Cloud Bus

消息驱动微服务:Spring Cloud Stream

分布式服务跟踪:Spring Cloud Sleuth

工程使用版本

<dependency>
     <groupId>org.springframework.cloud</groupId>
     <artifactId>spring-cloud-dependencies</artifactId>
     <version>Dalston.SR1</version>
     <type>pom</type>
     <scope>import</scope>
 </dependency>