SpringCloud5-Zuul路由代理

版权声明:fromZjy QQ1045152332 https://blog.csdn.net/qq_36762677/article/details/85096295

官网: https://springcloud.cc/spring-cloud-dalston.html#_router_and_filter_zuul
springcloud版本: 【Finchley 版】

代理、路由和过滤Zuul
  • Zuul是Netflix的基于JVM的路由器和服务器端负载均衡器
  • 将外部请求转发到具体的微服务实例上,实现外部统一入口
  • 最终注册到eureka

Spring Cloud Zuul和Spring Cloud Eureka进行整合,将自身注册为Eureka服务治理下的应用,同时从Eureka中获得了所有微服务的实例信息。这就使得维护实例的工作交给服务治理框架来完成,不再需要人工介入。对于路由规则的维护,Zuul默认会将通过以服务名作为ContextPath的方式来创建路由映射,大部分情况下这么的默认设置已经可以实现我们大部分的路由需求,除了一些特殊情况(比如兼容老的URL)还需要做一些特别的配置,但是已经大大减少了运维的工作量。

Zuul应用
<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-netflix-zuul</artifactId>
</dependency>

启动类

@EnableDiscoveryClient
@EnableZuulProxy
@SpringBootApplication
@EnableCircuitBreaker
public class ZuulApplication {

    public static void main(String[] args) {
        SpringApplication.run(ZuulApplication.class, args);
    }
}

yml(要注册到eureka)

server:
  port: 9101
spring:
  application:
    name: eureka-client-gateway-zuul
eureka:
  instance:
    instanceId: ${spring.cloud.client.hostname}:${spring.application.name}:${spring.application.instance_id:${server.port}}
    lease-expiration-duration-in-seconds: 1
    lease-renewal-interval-in-seconds: 2
    prefer-ip-address: true
  client:
    service-url:
      defaultZone: http://localhost:8760/eureka,http://localhost:8761/eureka


info:
  app.name: gateway-zuul

启用路由后请求格式
http:// localhost:9101/eureka-client-user/user

自定义配置映射路径
  1. 正常配置
zuul:
  routes:
    api-a:
      path: /user/**
      serviceId: eureka-client-user
    api-b:
      path: /movie/**
      serviceId: eureka-client-movie

2.屏蔽微服务名称

zuul:
  #屏蔽所有  "*"
  ignored-services: eureka-client-user,eureka-client-movie
  prefix: /cloud # 设置前缀
  routes:
    api-a:
      path: /user/**
      serviceId: eureka-client-user
    api-b:
      path: /movie/**
      serviceId: eureka-client-movie

猜你喜欢

转载自blog.csdn.net/qq_36762677/article/details/85096295
今日推荐