我们平日里访问的网址并不是真实的url,zuul组件就可以帮助我们实现这个功能
pom.xml
这个zuul组件需要和eureka一起使用,所以需要导入eureka
<dependencies>
<!-- 实体类-->
<dependency>
<groupId>com.wang</groupId>
<artifactId>springcloud-api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<!--web-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- eureka配置-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
<version>1.4.7.RELEASE</version>
</dependency>
<!-- ribbon-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-ribbon</artifactId>
<version>1.4.7.RELEASE</version>
</dependency>
<!-- zuul -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zuul</artifactId>
<version>1.4.7.RELEASE</version>
</dependency>
<!-- 热部署-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
</dependencies>
配置zuul
server:
port: 9527
eureka:
client:
service-url:
defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/
instance:
instance-id: zuul9527.com
zuul:
routes:
mydept.serviceId: springcloud-provider-dept #对于这个服务名称,,,的url进行变换
mydept.path: /mydept/** #设定 uri ----
ignored-services: "*" #真实url被屏蔽
prefix: /zhipan #设置uri的前缀--
spring:
application:
name: springcloud-zuul
注解开启zuul功能
@EnableZuulProxy ///开启路由网关
package com.wang.springcloud;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
@SpringBootApplication
@EnableZuulProxy ///开启路由网关
public class ZuulMain {
public static void main(String[] args) {
SpringApplication.run(ZuulMain.class,args);
}
}
测试
可以看到此时通过下面的url就能访问到服务:
http://www.zhipanstudy.com:9527/zhipan/mydept/dept/get/11