概述
路由在微服务体系结构的一个组成部分。例如,/
可以映射到您的Web应用程序,/api/users
映射到用户服务,/api/shop
映射到商店服务。Zuul是Netflix的基于JVM的路由器和服务器端负载均衡器。
快速使用
1、在前面创建基础上新建一个Module,这里命名microservicecloud-zuul-gateway-9527,然后导入相关依赖:
<dependencies>
<!-- zuul路由网关 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zuul</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<!-- actuator监控 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- hystrix容错 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-hystrix</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<!-- 日常标配 -->
<dependency>
<groupId>com.zhanghf</groupId>
<artifactId>microservisecloud-api</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
</dependency>
<!-- 热部署插件 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
</dependency>
</dependencies>
2、配置文件添加路由等相关配置
server:
port: 9527
spring:
application:
name: microservicecloud-zuul-gateway
eureka:
client:
service-url:
defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka,http://eureka7003.com:7003/eureka
instance:
instance-id: gateway-9527.com
prefer-ip-address: true
zuul:
#
ignored-services: microservicecloud-dept
#忽略microservicecloud-dept这个服务名,即用http://gateway-9527.com:9527/microservicecloud-dept/dept/get/2访问无效
#
prefix: /atguigu #前缀
#
ignored-services: "*" #忽略所有的服务名
routes:
mydept.serviceId: microservicecloud-dept
#映射到的服务名
mydept.path: /mydept/**
#可以用mydept替代microservicecloud-dept,即通过http://gateway-9527.com:9527/microservicecloud-dept/dept/get/2和http://gateway-9527.com:9527/mydept/dept/get/2同等
路由相关配置说明如上述配置注解,一个特殊的地方在于上述配置中通过域名进行匹配,因此需要在本机hosts文件中做好域名映射127.0.0.1 gateway-9527.com
3、启动类添加相关启动注解@EnableZuulProxy
package com.zhanghf;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
@SpringBootApplication
@EnableZuulProxy
public class Zuul_9527_StartSpringCloudApp
{
public static void main(String[] args)
{
SpringApplication.run(Zuul_9527_StartSpringCloudApp.class, args);
}
}
测试:
依次启动7001,7002,7003,8001和9527
然后访问http://eureka7001.com:7001/或者http://eureka7002.com:7002/或者http://eureka7003.com:7003/,查看当前eureka服务器上的所有微服务:
访问:http://gateway-9527.com:9527/mydept/dept/get/2,可以访问,因为通过上述zull的配置,/mydept的的请求会自动匹配到
microservicecloud-dept服务名中,同时也可以通过http://gateway-9527.com:9527/microservicecloud-dept/dept/get/2来进行访问,效果一样。
如果需要隐藏原微服务,则看上述配置文件注释掉的代码 ignored-services: microservicecloud-dept
添加前缀则:prefix: /atguigu #前缀
next:SpringCloud五大神兽之SpringCloud Config
最后
以上就是缓慢哈密瓜为你收集整理的六、SpringCloud五大神兽之Zuul快速使用测试:的全部内容,希望文章能够帮你解决六、SpringCloud五大神兽之Zuul快速使用测试:所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复