何为Zuul
使用步骤
- 导入依赖
- 创建Zuul程序
- 使用注解
@EnableZuulProxy
(设置一个Zuul服务器端点并在其中安装一些反向代理过滤器,以便它可以将请求转发到后端服务器。可以通过配置或通过DiscoveryClient手动注册后端。)
正向代理代理的对象是客户端
反向代理代理的对象是服务端
- 编辑配置文件
样例
- 创建项目导入依赖
<dependencies>
<dependency>
<groupId>org.example</groupId>
<artifactId>SpringCloud-Api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-zuul</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>
</dependencies>
复制代码
- 启动类
@SpringBootApplication
@EnableZuulProxy//反向代理,可以访问多个服务提供者
public class GateWayZuul_9527 {
public static void main(String[] args) {
SpringApplication.run(GateWayZuul_9527.class,args);
}
}
复制代码
- applicatoin.yaml
server:
port: 9527
spring: # 服务名称
application:
name: springcloud-gateway-zuul
eureka:
client:
service-url:
defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/
instance:
instance-id: zuul9527.com # 获取要在eureka中注册的该实例的唯一ID(在appName的范围内)。
prefer-ip-address: true # 表示在猜测主机名时,应优先使用服务器的IP地址,而不要使用OS报告的主机名。
zuul:
routes: # map<String,Routes>
mydept.serviceId: springcloud-provider-dept # key
mydept.path: /mydept/** # value
ignored-services: "*" # 不考虑自动代理的服务名称集。 默认情况下,将代理发现客户端中的所有服务。
复制代码
- 修改hosts
127.0.0.1 eureka7001.com
127.0.0.1 eureka7002.com
127.0.0.1 eureka7003.com
127.0.0.1 www.gatewayzuul.com
复制代码
通过 www.gatewayzuul.com:9527/mydept/getA… 即可访问
直接访问了服务提供者,没有使用服务消费者
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END