SpringCloud入门03---微服务-服务网关的基本使用

服务网关是微服务架构中一个不可或缺的部分。通过服务网关统一向外系统提供REST API的过程中,除了具备服务路由、均衡负载功能之外,它还具备了权限控制等功能。Spring Cloud Netflix中的Zuul就担任了这样的一个角色,为微服务架构提供了前门保护的作用,同时将权限控制这些较重的非业务逻辑内容迁移到服务路由层面,使得服务集群主体能够具备更高的可复用性和可测试性
下面我们来介绍服务网关的基本使用

1.创建项目并导入相关依赖
在这里插入图片描述
2.在启动类中添加注解
在这里插入图片描述
3.配置application.properties文件
在这里插入图片描述
配置文件中的“提供者配置”是我自己项目的配置可以根据自己的项目进行配置

#配置端口号
server.port=9091

#配置服务名称
spring.application.name=spring-cloud-Zuul
#将此服务配置到eureka中
eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/


#配置提供者
#配置城市提供者
zuul.routes.city.path=/zuulCity/**
#"spring-cloud-city"是此提供者在eureka中的名字
zuul.routes.city.serviceId=spring-cloud-city

#配置天气信息提供者
zuul.routes.myapi.path=/zuulMyapi/**
#"spring-cloud-Controller"是此提供者在eureka中的名字
zuul.routes.myapi.serviceId=spring-cloud-Controller

4.访问路径
配置完后,我们就可以通过网关访问各个提供者:比如说我们访问上图中的城市提供者url由两部分组成:第一部分网关路径 :localhost:9091/zuulCity第二部分:提供者路径再写提供者路径时把端口号之前的地址删掉(也包括端口号)拼接到网关路径后面就OK
例1:
网关路径:localhost:9091/zuulCity
提供者路径:localhost:8086/city/findAll
那么访问路径就是:localhost:9091/zuulCity/city/findAll
5.消费者
我们既然使用了网关,那么消费者再消费提供者时就无需直接访问某个消费者,直接访问网关地址即可。
SpringCloud入门02—微服务-提供者与消费者中已经介绍了消费者基本配置,我们要使用网关进行访问就需要将SpringCloud入门02—微服务-提供者与消费者中的“1.4编写Service代码”改为如下
此代码还是以上面例1所提供访问路径为例

@FeignClient("spring-cloud-Zuul")//此值要与eureka中的名称对应
public interface Test {
    @GetMapping("/zuulCity/city/findAll")//此路径也要与要访问的接口相对应
    String test();
}

然后直接调用test方法就能访问localhost:9091/zuulCity/city/findAll地址了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章