欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

spring cloud之网关zuul(十三)

程序员文章站 2022-06-13 21:23:16
...

一、博客背景

     基于前面的一些列博客,我们现在有两种微服务,分别是数据微服务dataserver和视图微服务feignserver。他们有可能放在不同的 ip 地址上,有可能是不同的端口。为了访问他们,就需要记录这些地址和端口。 而地址和端口都可能会变化,这就增加了访问者的负担。所以这个时候,我们就可以用网关来解决这个问题。这篇博客就是基本的讲解下zuul的使用。

二、新建子模块

spring cloud之网关zuul(十三)

三、修改pom文件

引入相关依赖

 <dependencies>
        <!--引入eureka-client依赖-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--引入zuul网关依赖-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-zuul</artifactId>
        </dependency>
    </dependencies>

四、新建启动类

启动类上需要加上@EnableZuulProxy注解

package tp;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;

/**
 * @Package: com.tp
 * @ClassName: ZuulApplication
 * @Author: tanp
 * @Description: ${description}
 * @Date: 2020/7/22 17:25
 */
@SpringBootApplication
@EnableEurekaClient
@EnableZuulProxy
public class ZuulApplication {
    public static void main(String[] args) {
        SpringApplication.run(ZuulApplication.class,args);
    }
}

五、新建application.yml文件

eureka:
  client:
    service-url:
      defaultZone: http://localhost:8689/eureka/
spring:
  application:
    name: zuul-server
server:
  port: 8683
zuul:
  routes:
    servers-a:
      #映射访问服务的地址
      path: /data-server/**
      #服务名
      serviceId: DATA-SERVER
    servers-b:
      path: /feign-server/**
      serviceId: FEIGN-SERVER

六、启动服务

spring cloud之网关zuul(十三)

可以发现注册中心中,已经有zuulserver服务了,下面我直接通过网关服务调用接口查看数据

访问:http://127.0.0.1:8683/feign-server/getdatas

可以得到

spring cloud之网关zuul(十三)

访问:http://127.0.0.1:8683/data-server/datas,可以得到

spring cloud之网关zuul(十三)

可以发现经过zuul网关服务调用其他服务,我们只需要记住zuul网关服务的ip、端口号、被调用服务的服务名和调用方法即可。当服务配置很多时,记不住各个服务的IP,端口使用网关服务即可大大省事

相关标签: spring cloud