springcloud整合gateway

gateway作为第二代springcloud网关,是微服务架构中不可缺少的一部分,接下去就简单介绍下如何在springcloud中整合它

此处配合用到了nacos,将gateway服务注册到nacos统一管理

一、添加依赖:

      <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

二、application.yml中的配置

server:
port: 8094
spring:
application:
name: gateway-service
cloud:
gateway:
routes:
- id: order_route #随便命名
uri: lb://order-sentinel-openfeign #lb 采用nacos自带的负载均衡进行分发请求,//后面的只是服务名
predicates:
- Path=/order-serv/** #断言,也就是这个请求的开头的都转发到该uri路由下处理
filters:
- StripPrefix=1 #过滤掉断言中path的第一段uri=order-serv
nacos: #将gateway注册到nacos中,配置nacos相关信息
discovery:
server-addr: 127.0.0.1:8848
username: nacos
password: nacos

三、启动nacos,从服务列表中可以看到gateway和需要映射的服务

 四、写一个controller的demo接口,看请求网关是否有到达对应服务

@GetMapping("/hotData/{id}/{msg}")
@SentinelResource(value = "getById",blockHandler = "HotDataBlockHandler")
public String getById(@PathVariable Integer id,@PathVariable String msg){
    System.out.println("id = " + id);
    System.out.println("msg = " + msg);
    return "正常访问";
}

五、测试访问接口:

 以上内容纯学习使用!

 

posted @ 2024-09-27 16:00  多多指教~  阅读(157)  评论(0)    收藏  举报