SpringCloud配置网关Zuul

1.Zuul简介

在这里插入图片描述
电影《捉鬼敢死队》中的怪兽,Zuul,在纽约引发了巨大骚乱。
事实上,在微服务架构中,Zuul就是守门的大Boss!一夫当关,万夫莫开!
在这里插入图片描述

2.Zuul加入后的架构

在这里插入图片描述

3.HelloWorld

  • 创建项目,添加依赖
    在这里插入图片描述
  • 启动类添加注解,开启Zuul的网关功能
@EnableZuulProxy 
  • 配置类配置端口
server:
  port: 10010 #服务端口
spring: 
  application:  
    name: api-gateway #指定服务名
  • 编写路由规则
zuul:
  routes:
    service: # 这里是路由id,随意写
      path: /service/** # 这里是映射路径
      url: http://127.0.0.1:8081 # 映射路径对应的实际url地址
  • 整合eureka,注册到注册中心
依赖:
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>

启动类添加注解:
@EnableDiscoveryClient

添加Eureka配置:
eureka:
  client:
    registry-fetch-interval-seconds: 5 # 获取服务列表的周期:5s
    service-url:
      defaultZone: http://127.0.0.1:10086/eureka
  instance:
    prefer-ip-address: true
    ip-address: 127.0.0.1
  • 修改映射配置,通过服务名称获取
zuul:
  routes:
    user-service: # 这里是路由id,随意写
      path: /service/** # 这里是映射路径
      service-id: service # 指定服务名称
  • 启动测试,通过网关地址访问
    在这里插入图片描述
  • Zuul进行代理时,会利用Ribbon进行负载均衡访问

优化配置

我们关于user-service的配置可以简化为一条:

zuul:
  routes:
    service: /service/** # 这里是映射路径

至此,入门完成

猜你喜欢

转载自blog.csdn.net/sinat_42338962/article/details/84872446