spring cloud之网关zuul(十三)
程序员文章站
2022-06-13 21:23:16
...
一、博客背景
基于前面的一些列博客,我们现在有两种微服务,分别是数据微服务dataserver和视图微服务feignserver。他们有可能放在不同的 ip 地址上,有可能是不同的端口。为了访问他们,就需要记录这些地址和端口。 而地址和端口都可能会变化,这就增加了访问者的负担。所以这个时候,我们就可以用网关来解决这个问题。这篇博客就是基本的讲解下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
六、启动服务
可以发现注册中心中,已经有zuulserver服务了,下面我直接通过网关服务调用接口查看数据
访问:http://127.0.0.1:8683/feign-server/getdatas
可以得到
访问:http://127.0.0.1:8683/data-server/datas,可以得到
可以发现经过zuul网关服务调用其他服务,我们只需要记住zuul网关服务的ip、端口号、被调用服务的服务名和调用方法即可。当服务配置很多时,记不住各个服务的IP,端口使用网关服务即可大大省事
推荐阅读
-
深入解析Spring Cloud内置的Zuul过滤器
-
深入理解Spring Cloud Zuul过滤器
-
Spring cloud踩坑记录之使用feignclient远程调用服务404的方法
-
详解Spring Cloud Netflix Zuul中的速率限制
-
深入解析Spring Cloud内置的Zuul过滤器
-
深入理解Spring Cloud Zuul过滤器
-
详解Spring-Cloud2.0之Feign调用远程服务指南
-
详解Spring Cloud Netflix Zuul中的速率限制
-
spring cloud如何修复zuul跨域配置异常的问题
-
spring cloud zuul修改请求url的方法