# SpringCloud **Repository Path**: itzhoucong/spring-cloud ## Basic Information - **Project Name**: SpringCloud - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-08-25 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SpringCloud #### 介绍 springCloud演示工程 ###### 1、工程搭建 服务提供工程springcloud-servcie 服务消费工程springcloud-consumer 服务注册中心eureka-server 1)提供服务注册和发现服务 2)高可用 ###### 2、Ribbon负载均衡 介绍:根据服务名到Eureka服务中获取服务地址列表, 再根据或利用Ribbon负载均衡算法从地址列表中获取一个服务地址并访问 算法 1)轮询(默认) 2)随机 ###### 3、熔断器Hystrix 介绍:可以在调用服务的时候,在服务出现异常时进行服务降级 避免一直长时间等待服务返回结果而出现雪崩效应 线程隔离:加速失败判断 服务降级:及时返回服务失败结果 ###### 4、Feign 介绍:是一个组件可实现自动拼接服务地址 配置 1)负载均衡 2)Hystrix 3)请求压缩 4)日志级别 ###### 5、Spring Cloud Gateway 介绍:是一个组件也是服务,由一系列过滤器组成 作用:路由和过滤 1)路由:配置文件中指定服务名和地址、过滤器、断言 2)过滤:可以在服务执行之前和之后处理一些非功能性业务 工程:gateway-demo 过滤器 1)局部过滤器:针对配置的路由 2)全局过滤器:对所有路由 配置 1)负载均衡 2)服务熔断 与Feign的区别 Feign主要是用在服务之间调用,gateway是一般的请求,它是所有的微服务入口 ###### 6、Spring Cloud Config 介绍:是一个配置中心服务 作用:可以获取git仓库中的配置文件,给其它微服务使用, 从而使各个微服务的配置在git仓库中进行集中式管理 工程:config-server 改造user-service:将配置文件删除配置成从配置中心获取 问题:git仓库中修改了配置项,微服务系统中的配置项没有及时更新,需要重启 ###### 7、Spring Cloud Bus 介绍:可以实现修改git仓库中的配置文件并及时同步和不重启微服务系统的情况下更新到配置项 使用了RabbtMQ进行程序之间消息通信 访问刷新配置中心的一个地址bus-refresh,发送MQ消息,微服务接收消息之后获取最新的配置项 方式一:手动调用(post请求):http://localhost:12000/actuator/bus-refresh(Server端地址)(SpringBoot2.x版本) 方式二:配置git的webhook ,当git端配置发生改变,自动调用/bus-refresh接口 改造config-server、user-service实现配置项同步