ws配置 zuul_spring cloud zuul 服务网关
Spring cloud zuul
Mave 导入
org.springframework.boot
spring-boot-starter-actuator
org.springframework.boot
spring-boot-starter-web
org.springframework.cloud
spring-cloud-starter-netflix-zuul
开启 zuul
增加 @EnableZuulProxy
整合 ribbon
配置路由规则
server.port = 7070
# zuul.routes.${app-name} = /${app-url-prefix}/**
zuul.routes.person-service = /person-service/**
# 取消ribbon eureka的整合
ribbon.eureka.enable = false
# 配置person-service的负载均衡
person-service.ribbon.listOfServers = http://localhost:8083 //服务提供地址
启动项目
eureka server
provider
zuul
访问测试
localhost:7070/person-service/demo/getHost -> 返回 true,表示成功
/person-service 是服务的名称
/demo/getHost 是 localhost:8083 的服务
调用链路:zuul --> person-service
整合 eureka
zuul 项目
Maven 导入
org.springframework.cloud
spring-cloud-starter-netflix-eureka-client
激活服务注册和发现客户端
@EnableDiscoveryClient
配置
spring.application.name = zuul-service
server.port = 7070
# zuul.routes.${app-name} = /${app-url-prefix}/**
zuul.routes.person-service = /person-service/**
# 取消ribbon eureka的整合
ribbon.eureka.enable = false
# 配置person-service的负载均衡
person-service.ribbon.listOfServers = http://localhost:8083 //服务提供地址
# 服务注册和发现客户端地址
eureka.client.service-url.defaultZone = http://localhost:9090/eureka
整合 Hystrix
provider 项目
Maven 导入
org.springframework.cloud
spring-cloud-starter-netflix-hystrix
开启 Hystrix
@EnableHystrix
配置规则
@RestController
public class PersonController {
public Random random = new Random();
@PostMapping("/person/save")
@HystrixCommand(fallbackMethod="fallback",
commandProperties = {
@HystrixProperty(name = "execution.isolation.thread.timeoutInMilliseconds",
value = "100")
}
)
boolean save(@RequestBody Person person) throws InterruptedException {
System.out.println("remote request ok !");
int i = random.nextInt(200);
Thread.sleep(i);
System.out.println("随机 : "+i);
return new HashMap<>().put(person.getId(),person)==null;
}
public List fallback(){
return new ArrayList();
}
}
整合 Feign
服务消费方 : person-client
配置
server.port = 8082
spring.application.name = person-consumer
eureka.client.service-url.defaultZone = http://localhost:9090/eureka
management.endpoints.web.exposure.include=*
服务网关 :zuul
增加路由应用到 client
zuul.routes.person-consumer = /person-consumer/**
访问测试
localhost:7070/person-consumer/demo/getHost -> 返回 true,表示成功
调用链路:zuul --> person-consumer --> person-provider
整合 config server
config server 配置
server.port = 9091
spring.application.name = ws
### 拉取远程git中配置
spring.cloud.config.server.git.uri = file:///${user.dir}/src/main/resources/configs
### 关闭actuator验证
management.endpoints.enabled-by-default=true
zuul 增加配置文件
三个 profile 配置文件
zuul.properties
zuul-test.properties
zuul-prod.properties
zuul.properties
zuul.routes.person-service = /person-service/**
zuul-test.properties
zuul.routes.person-consumer = /person-consumer/**
zuul-prod.properties
zuul.routes.person-service = /person-service/**
zuul.routes.person-consumer = /person-consumer/**
file:///${user.dir}/src/main/resources/configs 目录下初始化 git,并提交
增加 eureka 客户端依赖
org.springframework.cloud
spring-cloud-starter-netflix-eureka-client
注册到 eureka 服务器
# 注到eureka服务器
eureka.client.service-url.defaultZone = http://localhost:9090/eureka
激活 Eureka
@EnableDiscoveryClient
测试配置
http://localhost:9091/zuul/default
zuul 配置
增加 config client 依赖
org.springframework.cloud
spring-cloud-config
创建 bootstrap.properties 配置项
# 远程地址properties 前缀 [ws.properties]
spring.cloud.config.name = zuul
# 远程地址properties -后缀 [ws-dev.properties]
spring.cloud.config.profile = default
# git仓局分支
spring.cloud.config.label = master
# 采用Discovery client连接方式
spring.cloud.config.discovery.enabled = true
# 通过eureka注册中心选择config服务
spring.cloud.config.discovery.serviceId = config-server
测试访问
访问 : localhost:7070/person-service/person/save
调用路径 : zuul --> person-service --> person-provider
访问 : localhost:7070/person-service/person/save
调用路径 : zuul --> person-provider
所以 config 服务器配置生效
ws配置 zuul_spring cloud zuul 服务网关相关推荐
- ws配置 zuul_SpringCloud系列研究---服务网关zuul
一.zuul简介 服务网关是微服务架构中的入口,微服务平台通过服务网关统一向外部暴露API供客户端调用,网关除了具备服务路由.均衡负载功能之外,它还具备了权限控制等功能.在Spring Cloud中的 ...
- springcloud 网关_Spring Cloud 系列之 Netflix Zuul 服务网关(二)
本篇文章为系列文章,未读第一集的同学请猛戳这里: 哈喽沃德先生:Spring Cloud 系列之 Netflix Zuul 服务网关(一)zhuanlan.zhihu.com 本篇文章讲解 Zuul ...
- Spring Cloud浅谈个人尝鲜------Zuul 服务网关(五)
Spring Cloud浅谈个人尝鲜------Zuul 服务网关(五) 前面几篇文章我们学习了Eureka用于服务的注册于发现,Feign支持服务的调用以及均衡负载,Hystrix处理服务的熔断防止 ...
- Spring Cloud 系列之 Netflix Zuul 服务网关(三)
本篇文章为系列文章,未读前几集的同学请猛戳这里: Spring Cloud 系列之 Netflix Zuul 服务网关(一) Spring Cloud 系列之 Netflix Zuul 服务网关(二) ...
- Spring cloud Gateway 服务网关 实战
Spring cloud Gateway 服务网关 一.简介 优点: 特性: 总结: 二.核心概念 三.路由规则 1.Path 2.Query 3.Method 4.Datetime 5.Romote ...
- Zuul服务网关二个功能请求的路由和过滤器使用
Zuul服务网关 1.理解Zuul Zuul 是从设备和网站到应用程序后端的所有请求的前门.作为边缘服务应用程序,Zuul 旨在实现动 态路由,监视,弹性和安全性.Zuul 包含了对请求的路由和过 ...
- Spring Cloud Zuul API 网关服务
API 网关是一个更为智能的应用服务器,它的定义类似于面向对象设计模式中的 Facade 模式,它的存在就像是整个微服务架构系统的门面一样,所有的外部客户端访问都需要经过它来进行调度和过滤.它除了要实 ...
- Spring Cloud微服务网关Zuul过滤链和整合OAuth2+JWT入门实战
一.Spring Cloud Zuul 过滤链 1.1 工作原理 Zuul的核心逻辑是由一系列的Filter来实现的,他们能够在进行HTTP请求或者相应的时候执行相关操作.Zuul Filter的主要 ...
- Spring Cloud(六) 服务网关GateWay 入门
前文回顾: Spring Cloud(一)Eureka Server-单体及集群搭建 Spring Cloud(二) 配置Eureka Client Spring Cloud(三) 熔断器Hystri ...
- java分布式api网管关,分布式04-Spring Cloud Zuul Api网关 一
1.什么是Zuul zuul 是netflix开源的一个API Gateway 服务器, 本质上是一个web servlet应用. 熟悉Nginx的朋友可以把zuul理解为一个Nginx,个人认为2者 ...
最新文章
- 美国微生物科学院22年院士公布!舒跃龙、黄力、卢洪洲、赵国屏!
- 零基础学JAVA]Java SE基础部分-01. Java发展及JDK配置
- python学习音频-详解python播放音频的三种方法
- 【Linux】目录文件权限的查看和修改【转】
- [SOJ1039]Phone Home(深搜,染色问题)
- 「 每日一练,快乐水题 」1189. “气球” 的最大数量
- nvidia控制面板点了没反应win7_win7系统Nvidia控制面板怎么设置?
- 图解 Redis丨这就是 RDB 快照,能记录实际数据的
- 云图说丨手把手教你为容器应用配置弹性伸缩策略
- 继电器设备改造需要的设备清单
- js页面间通信方法实现
- perl 语言中的q,qw,qr,qx,qq符号用法总结
- 程序员代码面试指南 IT名企算法与数据结构题目最优解.pdf
- webstorm使用指南
- 六类网线钳能压五类水晶头吗_六类网线可以用五类水晶头不?
- ktv服务器几套系统,KTV场所需要哪些设备
- Android使用Bugly实现静默安装/自动安装app
- sibelius西贝柳斯2023中文版是什么打谱软件?如何下载
- android 各类demo链接
- 手机投屏电视android限制声音,没有路由器和WiFi,手机投屏电视教程