Zuul
Api网关
- 微服务零碎对立的调用入口
- 对立的权限校验
- 集成ribbon
- 集成hystrix
对立的调用入口
1.zuul 依赖、eureka client依赖、sp01
2.yml
#配置调用转发规定# 上面是zuul默认的转发规定# 如果不手动配置,zuul能够依据注册表的注册信息进行主动配置zuul: routes: item-service: /item-service/** user-service: /user-service/** order-service: /order-service/***
3.启动类注解: @EnableZuulProxy
对立权限校验
通过zuul过滤器,能够判断用户是否有权限拜访后盾服务,如果没有权限能够阻止用户持续拜访
判断用户是否登录,登录才容许拜访商品服务
http://localhost:3001/item-service/666 没有登录不容许拜访
http://localhost:3001/item-service/666?token=666 有token认为登录过,容许拜访
增加过滤器
1.继承ZuulyProxy
2.增加@Component
zuul会对过滤器进行主动配置
zuul集成ribbon
默认启用了ribbon的负载平衡
默认不启用重试,zuul不举荐启用重试
启用重试:
1.spring-retry 依赖
2.yml
zuul.retryable=true
3.重试参数
有默认参数,能够依据须要进行调整
zuul集成hystrix
0配置,曾经启用了hystrix
增加降级代码
1.实现FallbackProvider接口,在子类中实现降级代码
2.@Component
zuul的主动配置,会主动配置降级类
Zuul和Feign
- 都能够调用后盾服务
- 都能够集成ribbon
- 都能够集成hystri
zuul
- 部署在所有微服务项目之前
- 网关个别是一个独立的服务,与业务无关
- 不举荐启用重试,会造成后盾服务压力翻倍,重试尽量不部署在最后面,越往后越好
feign
- 部署在微服务外部,服务和服务之间调用
- 不举荐启用hystrix,个别在后面进行降级和熔断,相似于电箱的断路器,只在入库地位部署,不在微服务外部部署hystrix,否则会引起凌乱
筹备仓库
1.新建module: config,当做一个文件夹,用来寄存配置文件
2.把2,3,4,11我的项目的配置文件,放到config文件夹
3.springcloud1工程目录创立本地仓库
4.把本地仓库提交推送到gitee近程仓库
1.ctrl + k或VCS-commit2.勾选要提交的文件,填写提交信息,点击提交3.ctrl + shift + k或VCS - git -push4.点击左上角define remote
配置核心
1.config server 依赖
2.yml
近程仓库 uri: https://gitee.com/wusheng0/SpringCloud.git搜寻的子目录: config如果是公有仓库,还要提供用户名和明码
3.@EnableConfigServer
配置核心客户端
1.config client 依赖
2.新建配置文件: bootstrap.yml,bootstrap.yml是疏导配置文件,他先于application.yml加载
3.bootstrap.yml增加配置
1.连贯eureka,从注册表失去配置核心的地址2.连贯配置核心3.从配置核心下载指定的配置文件