SpringCloud?
SpringCloud的核心组件:
1)Eureka(有瑞克) 注册中心
2)Ribbon{瑞笨} 负载均衡/重试
3)Feign{凡嗯的}/OpenFeign RPC远程调用
3.1Feign远程接口调用
1)通过微服务名称,获得服务的调用地址
2)通过接口+注解,获得服务的调用 ——Feign "
4)Hystrix{黑死拽课死} 服务降级/熔断
5)Zuul { Z 哦} :记得在主启动类上添加 @EnableZuulProxy 相关注解;
5.1 统一路口:所有的数据接口统一管理和维护,保障了外部和内部的隔离,安全等。
5.2路径校验:可以对请求的路径进行过滤,防止接口中的非法入侵。
5.3动态路由:可以将请求分发给不同的服务器中。
6)Config {康飞课} 配置中心,统一配置文件,手动刷新
7)Bus {拔丝} 消息总线,动态刷新
注:监控工具{
8.hystrix dashboard------HyStrix仪表盘
9.Turbine-------------------聚合HyStrix监控数据
10.Sleuth+Zipkin----------链路跟踪
}
springcloud_阿里巴巴:
2.1GateWay(spring公司)特点:
1、Route(路由)
路由是由构建万股干的基本模块,他由ID,目标URI,一系列的断言和过滤器组成,如果断言为true则匹配该路由
2、Predicate(断言)
如果请求与断言相匹配则进行路由
3、Filter(过滤)
指的是Spring框架中的GatewayFilter的实例,使用过滤器,可以在请求被路由钱或者而之后对请求进行修改;
2.2Nacos:
@RefreshScope //打开动态刷新功能
Eureka注册中心:
Eureka工作原理:
1.服务提供者每30秒会向Eureka注册中心注册一次服务信息(注册)
2.服务消费者每30秒会从Eureka注册中心拉取所需要的服务信息(拉取)
3.服务提供者每30秒会向注册进行进行心跳检测续约,若某个服务提供者连续3次
(90秒)无法完成续约,则注册中心会将其从注册列表中删除.(心跳检测)
4.15分钟内85%的服务器心跳检测异常,Eureak则进入自我保护模式(保护期间不会
删除任何注册的服务信息(自我保护)
搭建Eureak注册中心和服务提供者
- 搭建Eureka注册中心:
1)导入Eureka的jar包
2)在启动类添加@EnableEurekaServer注解
3)修改配置文件
eureka:
server:
#关闭自我保护 测试关闭,上线开启
enable-self-preservation: false
instance:
# eureak名字
hostname: eureak1
client:
# 不向自身注册 单台false 集群true
register-with-eureka: false
# 不从自身拉取注册信息 单台false 集群true
fetc