Spring Cloud Zuul

一、什么是Zuul

Zuul是Netflix开源的微服务网关,核心是一系列过滤器。这些过滤器可以完成以下功能。

  • 所有微服务的入口。进行分发。
  • 身份认证和安全。拦截不合法请求。
  • 监控。更加全面收集请求。
  • 动态路由。动态将请求分发到不同的后端集群。
  • 压力测试。可以逐渐增加对后端的流量,进行测试。
  • 负载均衡。也是用ribbon。
  • 限流。比如每秒只放行10000请求,第10001次就不让访问了
  • 服务熔断。所有拦截尽可能前置,熔断也算拦截的一种。

二、配置使用

1、依赖

<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>

2、需要配置介入Eureka服务器
3、启动类添加@EnableZuulProxy注解
4、负载均衡,默认是轮询

#consumer是服务ID
consumer:
  ribbon:
    NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule

5、路由端点

# 调试的时候,看网关请求的地址,以及 映射是否正确。网关请求有误时,可以通过此处排查错误
management:
  endpoints:
    web:
      exposure:
        include: '*'
  endpoint:
    routes:
      enabled: true
    health:
      show-details: always
      enabled: true

三、配置网关指定微服务的访问路径

1、通过服务名配置

# 虚拟虚拟主机名  这个consumer和provider是serviceid
zuul:
  routes:
    consumer: /con/**
    provider: /pvd/**

2、自定义地址映射

zuul:
  routes:
    consumer:
      path: /con/**
      url: http://www.baidu.com

3、自定义负载均衡

zuul:
  routes:
    consumer:
      path: /con/**
      service-id: consumer
    provider:
      path: /pvd/**
      service-id: provider
  prefix: /xin
consumer:
  ribbon:
    listOfServers: localhost:7905,localhost:7906
provider:
  ribbon:
    listOfServers: localhost:7903,localhost:7904
ribbon:
  eureka:
    enabled: false

4、其他配置

zuul:
  # 网关前缀
  prefix: /xin
  # 忽略那些微服务
  ignored-services=user-provider: consumer
  # 带上前缀请求
  strip-prefix: false
posted @   -Lucas  阅读(15)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示