概念
Zuul包含了对请求的路由过滤两个主要功能:
其中路由功能负责将外部请求转发到具体的微服务实例上,是实现外部访问统一入口的基础而过滤功能则负责对请求的处理过程进行干预,是实现请求校验、服务聚合功能的基础。Zuul何Eureka进行整合,将Zuul自身注册为Eureka服务治理下的应用,同时从Eureka中获取其他微服务的消息,也即以后的访问为服务都是通过Zuul跳转后获得。
注意:Zuul服务最终还是会注册进Eureka
修改pom.xml文件
<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-netflix-hystrix -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
<version>2.1.2.RELEASE</version>
</dependency>
<!--actuator监控信息完善-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--将微服务provider注册进eureka-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
<version>2.1.1.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-netflix-zuul -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-zuul</artifactId>
<version>2.1.2.RELEASE</version>
</dependency>
启动类中添加@EnableZuulProxy
···
package com.hc;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
@SpringBootApplication
@EnableDiscoveryClient
@EnableZuulProxy
public class ApplicationGetawayZuul {
/**
* Start
*/
public static void main(String[] args) {
SpringApplication.run(ApplicationGetawayZuul.class, args);
// logger.info("SpringBoot Start Success");
}
}
···
修改application.properties文件
#修改server port
server.port=9527
#================================================将服务注册进eureka中======================================
spring.application.name=springboot-mybatis-getaway-zuul
# 指定eureka server通信地址,注意/eureka/不能少
eureka.client.service-url.defaultZone=http://eureka10002.com:10002/eureka/,http://eureka10003.com:10003/eureka/,http://eureka10004.com:10004/eureka/
# 是否注册IP到eureka server,如不指定或设为false,那就会注册主机名到eureka server
eureka.instance.prefer-ip-address=true
#修改服务名称
eureka.instance.instance-id=springboot-mybatis-getaway-zuul-9527
#配置actuator监控信息
info.app.name=springboot-mybatis-getaway-zuul-9527
info.company.name=www.zjhc.com
info.build.artifactId=$project.artifactId$
info.build.version=$project.version$
网友评论