扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
本篇内容主要讲解“搭建spring cloud alibaba微服务GetWay的方法步骤”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“搭建spring cloud alibaba微服务GetWay的方法步骤”吧!
创新互联公司服务项目包括蚌山网站建设、蚌山网站制作、蚌山网页制作以及蚌山网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,蚌山网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到蚌山省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
1.GateWay是什么
概述
Cloud全家桶中有个很重要的组件就是网关,在1.x版本中都是采用的Zuul网关;
但在2.x版本中,zuul的升级一直跳票,SpringCloud最后自己研发了一个网关替代Zuul,那就是SpringCloud Gateway—句话:gateway是原zuul1.x版的替代
Gateway是在Spring生态系统之上构建的API网关服务,基于Spring 5,Spring Boot 2和Project Reactor等技术。
Gateway旨在提供一种简单而有效的方式来对API进行路由,以及提供一些强大的过滤器功能,例如:熔断、限流、重试等。
SpringCloud Gateway是Spring Cloud的一个全新项目,基于Spring 5.0+Spring Boot 2.0和Project Reactor等技术开发的网关,它旨在为微服务架构提供—种简单有效的统一的API路由管理方式。
SpringCloud Gateway作为Spring Cloud 生态系统中的网关,目标是替代Zuul,在Spring Cloud 2.0以上版本中,没有对新版本的Zul 2.0以上最新高性能版本进行集成,仍然还是使用的Zuul 1.x非Reactor模式的老版本。而为了提升网关的性能,SpringCloud Gateway是基于WebFlux框架实现的,而WebFlux框架底层则使用了高性能的Reactor模式通信框架Netty。
Spring Cloud Gateway的目标提供统一的路由方式且基于 Filter链的方式提供了网关基本的功能,例如:安全,监控/指标,和限流。
作用
方向代理
鉴权
流量控制
熔断
日志监控
微服务架构中网关的位置
2.配置Getway创建子工程:cloud-getway-getway9527
3.pom文件添加如下:
org.springframework.cloud spring-cloud-starter-gateway com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery com.yxw.springcloud cloud-api-commons ${project.version} org.springframework.boot spring-boot-devtools runtime true org.projectlombok lombok true org.springframework.boot spring-boot-starter-test test
4.yml文件添加如下:
server: port: 9527spring: application:name: cloud-gateway cloud:nacos: discovery:server-addr: localhost:8848gateway: discovery:locator: enabled: true #开启从注册中心动态创建路由的功能,利用微服务名进行路由 routes: - id: payment_routh #payment_routh #路由的ID,没有固定规则但要求唯一,简易配合服务名 uri: http://localhost:8001 #匹配后提供服务的路由地址# uri: lb://cloud-provider-service #匹配后提供服务的路由地址 predicates: - Path=/payment/get/** #断言,路径相匹配的进行路由 - id: payment_routh3 #payment_routh #路由的ID,没有固定规则但要求唯一,简易配合服务名 uri: http://localhost:8001 #匹配后提供服务的路由地址# uri: lb://cloud-provider-service #匹配后提供服务的路由地址 predicates: - Path=/payment/lb/** #断言,路径相匹配的进行路由
5.启动类:
@SpringBootApplication@EnableDiscoveryClientpublic class GetwayApplication {public static void main(String[] args) { SpringApplication.run(GetwayApplication.class,args); } }
6.启动服务并访问:http://localhost:9527/payment/get/1
配置动态路由
在yml修改如下:
server: port: 9527spring: application:name: cloud-gateway cloud:nacos: discovery:server-addr: localhost:8848gateway: discovery:locator: enabled: true #开启从注册中心动态创建路由的功能,利用微服务名进行路由 routes: - id: payment_routh #payment_routh #路由的ID,没有固定规则但要求唯一,简易配合服务名# uri: http://localhost:8001 #匹配后提供服务的路由地址 uri: lb://cloud-provider-service #匹配后提供服务的路由地址 predicates: - Path=/payment/get/** #断言,路径相匹配的进行路由 - id: payment_routh3 #payment_routh #路由的ID,没有固定规则但要求唯一,简易配合服务名# uri: http://localhost:8001 #匹配后提供服务的路由地址 uri: lb://cloud-provider-service #匹配后提供服务的路由地址 predicates: - Path=/payment/lb/** #断言,路径相匹配的进行路由
再次访问:http://localhost:9527/payment/get/1
需要注意的是uri的协议为lb,表示启用Gateway的负载均衡功能。
lb://serviceName是spring cloud gateway在微服务中自动为我们创建的负载均衡uri。
到此,相信大家对“搭建spring cloud alibaba微服务GetWay的方法步骤”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流