GetWay的简单使用
Gateway 是 Spring Cloud 新推出的网关框架,该项目基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等技术,底层使用了高性能的通信框架Netty。
网关的作用:在没有API网关作为统一出口的情况下,需要调用方自己组合各种服务,而且容易让调用方感知后端各种服务的存在,加入网关后,客户端调用服务需要通过网关来进行,并且网关可以处理路由,安全,限流,缓存,日志,监控,重试,熔断等事务,使业务开发更纯净。
一些概念:
Route(路由):这是网关的基本构建块。它由一个 ID,一个目标 URI,一组断言和一组过滤器定义。如果断言为真,则路由匹配。
Predicate(断言):这是一个 Java 8 的 Predicate。我们可以使用它来匹配来自 HTTP 请求的任何内容。
Filter(过滤器):这是org.springframework.cloud.gateway.filter.GatewayFilter的实例,我们可以使用它修改请求和响应。
使用:
1.导入依赖:
org.springframework.cloud spring-cloud-starter-gateway 注:sprint-boot-starter-web这个依赖是不能引入,否则getway不能使用。 2.启动类: @SpringBootApplication @EnableEurekaClient public class GetwayMain { public static void main(String[] args) { SpringApplication.run(GetwayMain.class,args); } } 3.配置路由,getway当中配置路由有两种方式,第一种是通过yml配置文件的方式配置路由,第二种是通过配置类的方式来配置路由 使用yml: spring: application: name: cloud-getway cloud: gateway: discovery: locator: enabled: true routes: - id: payment_routh #id #uri: http://localhost:8001 #匹配的路由地址 uri: lb://cloud-payment-service predicates: - Path=/payment/get/** #断言路径匹配进行路由 - id: payment_routh #uri: http://localhost:8001 uri: lb://cloud-payment-service predicates: - Path=/payment/lb/** 使用配置类: @Configuration public class GetwayConfig { @Bean public RouteLocator customRouteLocator(RouteLocatorBuilder routeLocatorBuilder){ RouteLocatorBuilder.Builder routes = routeLocatorBuilder.routes(); routes.route("com.74120",r->r.path("/guonei").uri("http://news.baidu.com/guonei")).build(); return routes.build(); } }
GetWay的简单使用相关推荐
- AlibabaCloud-sentinel getway限流篇(1)
AlibabaCloud-sentinel限流篇(1) 首先我们来看几个问题吧 AlibabaCloud sentinel 是干嘛的? Sentinel 可以简单的分为 Sentinel 核心库和 D ...
- Spring Cloud组件之GetWay
GetWay作为统一配置的网关,可以实现负载均衡的作用以及跨域的作用 引入相关依赖 <dependency><groupId>org.springframework.cloud ...
- 服务网关Getway
服务网关 Getway新一代网关 1.概述简介 (1)简介 SpringCloud Gateway是Spring Cloud的一个全新项目,纡Spring 5.0+ Spring Boot 2.0和P ...
- getway极简落地入门
在spring cloud netflix时使用zuul作为官网,但是随着zuul2.0的多次跳票和getway异军突起.getway已经是一款主流的产品了,同时springcloud alibaba ...
- getway(网关)
一.网关基本概念 1.API网关介绍 API 网关出现的原因是微服务架构的出现,不同的微服务一般会有不同的网络地址,而外部客户端可能需要调用多个服务的接口才能完成一个业务需求,如果让客户端直接与各个微 ...
- Getway网关管理ZUUL
Getway网关管理ZUUL 1.ZUUL微服务网关 微服务架构体系中,通常一个业务系统会有很多的微服务,比如:OrderService.ProductService.UserService...,为 ...
- 在docker上安装部署tomcat项目 超简单,拿来主义
在docker中部署tomcat,非常简单,而且省去了手动安装jdk等步骤,只需要将war包复制在容器tomcat实例中的webapps下面即可.以下将详细讲解流程: 在windows中打好包以后用w ...
- Linux下tomcat的安装与卸载以及配置(超简单)
无敌简单的几步 1.安装 //首先你需要下载好tomcat包 sudo tar -xvzf apache-tomcat-7.0.85.tar.gz(这里是包名) -C 你要放的位置 2.卸载 rm - ...
- Docker安装Apache与运行简单的web服务——httpd helloworld
Docker运行简单的web服务--httpd helloworld目录[阅读时间:约5分钟] 一.Docker简介 二.Docker的安装与配置[CentOS环境] 三.Docker运行简单的web ...
最新文章
- mysql-事物实现原理
- ASP.NET小知识
- Win7x64+VS2012+OpenCV2.4.3+CMake2.8.10+TBB41重编译OpenCV
- Java生成固定长度的随机字符串(以大小写字母和数字)
- C++中类的组合和继承关系
- python画方波_numpy绘制方波及方波无穷级数的表示
- 机器学习算法总结之支持向量机(三)
- linux 进入rescue模式,一个简单小例子来说一下Rescue营救模式
- 黑客雇佣组织开发出新型的Windows 隐秘后门
- Unity3D开发游戏世界天空盒
- springMVC中获取request 对象
- DbEntry 开发实践:Wiki 系统(四)
- [Andriod官方API指南]连接之蓝牙
- Filter_Listener:过滤器和监听器
- 钢结构节点输出软件_BIM技术助力桥梁钢结构设计施工一体化建设
- java 配置文件参数_从Java的配置文件中读取配置参数的最佳方法是什么?
- 本地运行 MAYA 帮助文档
- 【javaWeb学习笔记】HTML,CSS,JS
- 小米2A com.android.phone,104.android 简单的检查小米手机系统和华为手机系统是否打开通话自动录音功能,跳转通话录音页面...
- Top-down Visual Saliency Guided by Captions