熊掌号怎么做网站跳转链接,苏州做网站公司电话,做ppt设计师哪个网站好,百度一下百度首页官网一、Zuul简介
Zuul是Netflix开源的微服务网关#xff0c;包含对请求的路由和过滤两个主要功能。
1#xff09;路由功能#xff1a;负责将外部请求转发到具体的微服务实例上#xff0c;是实现外部访问统一入口的基础。
2#xff09;过滤功能#xff1a;负责对请求的过程…一、Zuul简介
Zuul是Netflix开源的微服务网关包含对请求的路由和过滤两个主要功能。
1路由功能负责将外部请求转发到具体的微服务实例上是实现外部访问统一入口的基础。
2过滤功能负责对请求的过程进行干预可以实现请求校验、服务聚合等功能。 二、Zuul代码实现
1在pom.xml中引入依赖
注意系统中所有的微服务须连接至Eureka注册中心。Eureka搭建详见另一篇博文微服务1搭建微服务注册中心Eureka命令行简易版不使用IDE-CSDN博客 dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-zuul/artifactId/dependencydependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-client/artifactId/dependency
完整的pom.xml如下
project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsdmodelVersion4.0.0/modelVersiongroupIdcom.test/groupIdartifactIdmicroservice-zuul/artifactIdpackagingjar/packagingversion1.0-SNAPSHOT/versionnamemicroservice-zuul/nameurlhttp://maven.apache.org/urlparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.3.0.RELEASE/versionrelativePath/ /parentdependenciesdependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion3.8.1/versionscopetest/scope/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-client/artifactId/dependency dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-hystrix/artifactId/dependency dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-zuul/artifactId/dependency/dependenciesdependencyManagementdependenciesdependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-dependencies/artifactIdversionHoxton.SR4/versiontypepom/typescopeimport/scope/dependency /dependencies/dependencyManagementbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build/project2配置application.yml
server:port: 9000
spring:application:name: microservice-zuuleureka:client:serviceUrl:defaultZone: http://localhost:8080/eureka/
3在App.java中添加注解
EnableDiscoveryClient EnableZuulProxy
package com.test;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;SpringBootApplication
EnableDiscoveryClient
EnableZuulProxy
public class App
{public static void main(String[] args) {SpringApplication.run(App.class, args);}}三、Zuul测试
在浏览器中输入
http://localhost:9000/microservice-consumer/users/4
其中microservice-consumer是实际要访问的微服务名称如果不加Zuul则该服务的访问URL为
http://localhost:8010/users/3
使用Zuul网关之后客户端无需知道每个微服务的端口号即可通过网关端口号9000来统一访问到系统中所有的微服务。