微服务架构之spring cloud gateway
Spring Cloud Gateway是spring cloud中起着非常重要的作用,是终端调用服务的入口,同时也是项目中每个服务对外暴露的统一口径,我们可以在网关中实现路径映射、权限验证、负载均衡、服务聚合等业务功能。
(一) 版本说明
a) Spring boot 2.0.6.RELEASE
b) Spring cloud Finchley.SR2
c) Java version 1.8
d) spring-cloud-starter-gateway 2.0.2.RELEASE
(二) 项目设置
1. Pom文件
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> <version>2.0.2.RELEASE</version> </dependency>
2. application.yml配置文件
spring: application: name: gateway cloud: gateway: enabled: true routes: #终端模块 - id: clientservice uri: lb://CLIENTSERVICE predicates: - Path=/client/** filters: - StripPrefix=1 #回调模块 - id: callbackservice uri: lb://CALLBACKSERVICE predicates: - Path=/callback/** filters: - StripPrefix=1
3. 主要参数说明
a) spring.application.name 项目名称
b) spring.cloud.gateway 所有gateway配置信息的根节点
c) spring.cloud.gateway.enabled 是否启用
d) spring.cloud.gateway.routes 路由映射,注意这里是数组
e) spring.cloud.gateway.routes[0].id 标志号
f) spring.cloud.gateway.routes[0].uri 路由映射目标路径
g) spring.cloud.gateway.routes[0].predicates 匹配规则,也是暴露的映射路径
h) spring.cloud.gateway.routes[0].StripPrefix 是否包含匹配的前缀,比如 /callback/**,如果设置为1,则只有**传递到目标路径,如果设置为0,,则callback也一并传递到目标路径,一般设置为1不传递自定义的暴露服务名称
(三) 项目运行
1. 运行项目,在注册中心即可看到gateway注册进来了,如下图所示

2. 也要把我们配置文件中配置的2个微服务已经在运行如下图所示

名称你可以改成你自己的服务名称,但记得要跟配置的映射一致。
3. 在任何一个终端输入gateway的IP:PORT/映射的服务名称/API名称,就可以看到经过网关映射后的效果
a) Client服务

b) Callback服务


这样spring cloud gateway网关就介绍完了,如果在开发中遇到问题,也可以留言共同探讨共同进步。
微服务架构之spring cloud gateway的更多相关文章
- 微服务架构 - 网关 Spring Cloud Gateway
Spring Cloud Gateway 工作原理 客户端向 Spring Cloud Gateway 发出请求,如果请求与网关程序定义的路由匹配,则将其发送到网关 Web 处理程序,此处理程序运行特 ...
- 微服务架构集大成者—Spring Cloud (转载)
软件是有生命的,你做出来的架构决定了这个软件它这一生是坎坷还是幸福. 本文不是讲解如何使用Spring Cloud的教程,而是探讨Spring Cloud是什么,以及它诞生的背景和意义. 1 背景 2 ...
- 微服务架构之spring cloud 介绍
在当前的软件开发行业中,尤其是互联网,微服务是非常炽热的一个词语,市面上已经有一些成型的微服务框架来帮助开发者简化开发工作量,但spring cloud 绝对占有一席之地,不管你是否为java开发,大 ...
- 微服务网关实战——Spring Cloud Gateway
导读 作为Netflix Zuul的替代者,Spring Cloud Gateway是一款非常实用的微服务网关,在Spring Cloud微服务架构体系中发挥非常大的作用.本文对Spring Clou ...
- 微服务架构-选择Spring Cloud,放弃Dubbo
Spring Cloud 在国内中小型公司能用起来吗?从 2016 年初一直到现在,我们在这条路上已经走了一年多. 在使用 Spring Cloud 之前,我们对微服务实践是没有太多的体会和经验的.从 ...
- 微服务架构之spring cloud eureka
Spring Cloud Eureka是spring cloud的核心组件,负责服务治理功能,起到中心枢纽作用,其它组件都依赖eureka来获取服务,然后再根据项目需求实现自己的业务,eureka在整 ...
- Spring Cloud 微服务五:Spring cloud gateway限流
前言:在互联网应用中,特别是电商,高并发的场景非常多,比如:秒杀.抢购.双11等,在开始时间点会使流量爆发式地涌入,如果对网络流量不加控制很有可能造成后台实例资源耗尽.限流是指通过指定的策略削减流量, ...
- 微服务架构之spring cloud zipkin
Spring Cloud Zipkin是微服务的链路跟踪组件,帮助详细了解一次request&response的总计时,及每个微服务的消耗时间.微服务名称.异常信息等等过程信息. (一) 版本 ...
- 微服务架构之spring cloud turbine
在前面介绍了spring cloud hystrix及其hystrix dashboard,但都是对单个项目的监控,对于一个为项目而言,必定有很多微服务,一个一个去看非常的不方便,如果有一个能集中熔断 ...
随机推荐
- chainWebpack 和 htmlWebpackPlugin搭配使用
const HtmlWebpackPlugin = require('html-webpack-plugin'); ... chainWebpack: config => { config .p ...
- Sweep Line
391. Number of Airplanes in the Sky https://www.lintcode.com/problem/number-of-airplanes-in-the-sky/ ...
- 关于MatlabGUI清除WorkSpace的用法
近日在调试Matlba GUI程序时,因为不想退出程序后手动Clear All来清理,又需要在过程中对WorkSpace进行清理,否则会引用之前的结果导致错误,找了很多资料,国内的论坛什么的都说用Cl ...
- 基于nightmare的美团美食商家爬虫实践
前言美团商家页分析需要爬取的数据有(这里没有按人数爬)爬虫工具选取pysipderscrapynightmare同步任务js动态加载中断继续爬坑总结示例代码 前言 上学的时候自己写过一些爬虫代码,比较 ...
- Homebrew下安装的软件自启动服务管理工具:Launchrocket
帮助管理Homebrew安装的服务的软件,比如使用Homebrew安装的Mysql.Redis.MongoDB,传统方式需要使用命令行的命令,而使用LaunchRocket则可以在图形界面中进行管理. ...
- (转)MySql数据库4【命令行赋权操作】
MySQL 赋予用户权限命令的简单格式可概括为:grant 权限 on 数据库对象 to 用户 原文:http://www.cnblogs.com/zhuyibo/p/3980328.html 一.g ...
- JS框架设计之对象数组化一种子模块
类数组对象是一个很好的存储结构,但是功能太弱了,为了享受纯数组的哪些便捷的方法,使用前可以做下转换,通常可以使用$.slice.call()方法做转换,但是旧版本的IE下的HTMLCollection ...
- jenkins构建GitHub项目
一.Jenkins 配置 Git 首先,登录 Jenkins ,在首页找到 “系统管理 -> Global Tool Configuration -> Git ” Path to Git ...
- Linux 命令学习之使用本地SecureCRT连接虚拟机上linux
前提:保证你的虚拟机安装好了,本人使用的是 VMware. 首先在你的window上查看你的 ip地址 进入dos 窗口运行 ipconfig. 其次进入你的虚拟机,登录成功.运行 ifconfig ...
- Session 与 Cookie
Session 与 Cookie 的作用都是为了保持访问用户与后端服务器的交互状态.它们本身只是HTTP中的一个配置项,在servlet规范中也只对应一个类而已. 理解 Cookie 通俗地说就是当一 ...