spring cloud 快速上手系列

系列说明:快速上手,一切从简,搭建一个简单的微服务框架,让新手可以在这个基础框架上做各种学习、研究。

04-网关 Gateway

041-空的工程

1,说明

网关最原始的,都是用nginx来实现的,速度快。但是扩展功能需要lua,很麻烦。KONG是在nginx基础上搭建的工程,一样的快和难用。
我们现在学习spring cloud gateway。这次只是搭建一个空的工程,配置最简单的路由。
说句实话,最新版的spring cloud gateway,照着目前搜出来的文章,一个都搭建不起来,有坑在里面。我的工程是实打实的可用。

2,Gateway

1) 代码目录

2) 代码内容
  • pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.3</version><relativePath/></parent><groupId>com.hui.study.cloud</groupId><artifactId>StudyEurekaClient01</artifactId><version>1.0.0-SNAPSHOT</version><properties><java.version>1.8</java.version><spring-cloud.version>2021.0.4</spring-cloud.version><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target></properties><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><dependencies><!--Spring Cloud 的 eureka-client 起步依赖--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency><!--gateway--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-gateway-server</artifactId></dependency></dependencies>
</project>

少了spring-cloud-gateway-server这个,编译啥都不影响,跑的有模有样的,也没啥异常。但是路由全失败,404坑死。

  • application.yml
server:port: 7201  #网关的端口号
spring:application:name: gatewaycloud:gateway:routes:- id: Client01_route                   #路由的ID,没有固定规则但要求唯一,建议配合服务名uri:lb://Client01                 #从注册中心获取服务名predicates:- Method=GET,POST
eureka:client:#表示是否将自己注册进EurekaServerregister-with-eureka: true#是否从EurekaServer抓取已有的注册信息,默认为true。fetchRegistry: trueservice-url:#服务中心地址defaultZone: http://localhost:7001/eureka

uri的配置,lb:// 是固定的。后面是注册中心里的Application名。我们配置最简单的predicates,全量转发GET和POST。后面再开一章,说详细一些。

  • CloudGatewayApplication.java
package com.hui.study.cloud.gateway;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;@SpringBootApplication
@EnableEurekaClient
/*** 网关启动*/
public class CloudGatewayApplication {public static void main(String[] args) {SpringApplication.run(CloudGatewayApplication.class, args);}
}

感觉这个类就是水字数的。还好文章不像小说,按字数收费。

3) 启动

注册中心正常启动,然后启动我们第一章的StudyEurekaClient01。

执行 CloudGatewayApplication.java
启动成功后,访问 http://localhost:7001

4)调用

用apifox或postman访问:http://localhost:7201/demo/d01

spring cloud 快速上手系列 -> 04-网关 Gateway -> 041-空的工程相关推荐

  1. spring cloud 快速上手系列 -> 02-配置中心 Config -> 022-Config客户端

    spring cloud 快速上手系列 系列说明:快速上手,一切从简,搭建一个简单的微服务框架,让新手可以在这个基础框架上做各种学习.研究. 02-配置中心 Config 022-Config客户端 ...

  2. 响应式Spring的道法术器(Spring WebFlux 快速上手 + 全面介绍)

    1. Spring WebFlux 2小时快速入门 Spring 5 之使用Spring WebFlux开发响应式应用. lambda与函数式(15min) Reactor 3 响应式编程库(60mi ...

  3. Spring Cloud微服务系列文,服务调用框架Feign

    之前博文的案例中,我们是通过RestTemplate来调用服务,而Feign框架则在此基础上做了一层封装,比如,可以通过注解等方式来绑定参数,或者以声明的方式来指定请求返回类型是JSON.    这种 ...

  4. thinkcmf5调用指定分类的二级_Tengine快速上手系列教程amp;视频:基于Python API的图片分类应用入门丨附彩蛋...

    前言:近期,Tengine团队加班加点,好消息接踵而来,OpenCV 4.3.0发布,OPEN AI LAB AIoT智能开发平台Tengine与OpenCV合作共同加速边缘智能,Tengine再获业 ...

  5. routing zuul_金三银四跳槽季快到了:送上Spring cloud全家桶系列之Zuul

    一.前言 金三银四跳槽季快到了:送上Spring cloud全家桶系列之Eureka 金三银四跳槽季快到了:送上Spring cloud全家桶系列之Feign 金三银四跳槽季快到了:送上Spring ...

  6. Nacos Spring Cloud 快速开始

    Nacos Spring Cloud 快速开始 本文主要面向 Spring Cloud 的使用者,通过两个示例来介绍如何使用 Nacos 来实现分布式环境下的配置管理和服务注册发现. 关于 Nacos ...

  7. Spring Cloud微服务系列-Eureka Client源码解析(二)

    导语   上一篇博客中介绍了关于Eureka Client源码的基础部分,如果对于基础部分不是很了解的读者可以点击下面的连接进入到源码分析一中,从头开始学习 Spring Cloud微服务系列 Dis ...

  8. 【Spring Cloud 基础设施搭建系列】Spring Cloud Demo项目 将微服务运行在Docker上

    文章目录 将微服务运行在Docker上 使用Maven插件构建Docker镜像 使用Maven插件读取Dockerfile进行构建 将插件绑定在某个phase执行 参考 源代码 将微服务运行在Dock ...

  9. Spring Cloud 2.x系列之Feign整合断路器监控Hystrix Dashboard

    SVN多版本库环境的搭建 OAuth 2.0是什么?看这篇文章就够了. 前端 Java Python等资源合集大放送 Ribbon可以整合整合断路器监控Hystrix Dashboard,Feign也 ...

最新文章

  1. 文本挖掘简介及软件安装
  2. java星际小战_首届中国星际战队联赛:TSG夺冠,小hero刘建宏大战惊天地泣鬼神...
  3. TouchAction实现连续滑动设置手势密码
  4. 牛客多校2 - Greater and Greater(bitset优化暴力)
  5. python中形参*args和**kwargs简述
  6. 前端使用js发起http请求的几种方法
  7. 002.操作系统的选择
  8. vsan Linux 网络磁盘,理解vSAN中的磁盘空间占用
  9. poj 2355 Railway tickets 很纯的dp
  10. 手机12306买卧铺下铺技巧_手机12306怎么买下铺
  11. 主流邮箱的反垃圾邮件技术
  12. 高德地图 删除marker(指定marker)
  13. 计算机二进制运算符,二进制布尔运算
  14. 推荐《我是谁 – 没有绝对安全的系统》CLAY——Clown Laughing At You「小丑的嘲笑」
  15. HTTP请求和请求头的详解
  16. 你的面子到底值几斤几两
  17. 本地blast~TBtools
  18. LVI-SAM LIS系统 utility.h 代码阅读 附录
  19. php邮箱类,php邮件类(PHPMailer)使用心得
  20. 数据库单表查询教师班级学生信息表

热门文章

  1. react-native集成极光推送
  2. hdu6112今夕何夕
  3. 网络地址转换协议NAT功能详解+NAT配套练习题
  4. MySQL 64位安装教程,不需要配置my.ini文件
  5. 在EXCEL中添加水印
  6. QGIS将经纬度坐标转成点
  7. 【论文简述】Multiview Stereo with Cascaded Epipolar RAFT(ECCV 2022)
  8. ubuntu中文支持,及中文乱码问题
  9. 【常用算法】螺旋矩阵
  10. ip和端口号的正则表达式