MyCat - 环境搭建 - 微服务网关 gateway 搭建 | 学习笔记

本文涉及的产品
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,182元/月
MSE Nacos/ZooKeeper 企业版试用,1600元额度,限量50份
简介: 快速学习 MyCat - 环境搭建 - 微服务网关 gateway 搭建

开发者学堂课程【全面讲解开源数据库中间件 MyCat 使用及原理(四):MyCat - 环境搭建 - 微服务网关 gateway 搭建 】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/758/detail/13311


MyCat - 环境搭建 - 微服务网关 gateway 搭建

内容简介:

一、初步介绍

二、初步搭建 GateWay 网关

三、引入依赖

四、声明引导类

五、声明 Cors 配置类

 

一、初步介绍

用前端来提供一个统一的入口,所有前端的请求都经过服务网关,通过服务网关将请求录入到后端的微服务,服务网关模块如图所示:

image.png

前端所有的请求都经过这个网关,由服务网关指定这个请求录入到哪个微服务中。

 

二、初步搭建 GateWay 网关

搭建微服务模块的名称设计:

image.png

接下来选择 next,建立 Module 文件成功,这个 v-gateway 就已经搭好了,java和 resources 刚开始的颜色是不对的,我们可以看到 v-gateway 是灰色的,我们就点击图中所示的“+”,

点击 v-gateway 后再点击 pom.xml 这个选项再点击 OK 就可以了,那么这个就搭建好了。

 

三、引入依赖

我们引入的依赖有两个,分别是 gateway 微服务和 eureka 客户端;

依赖可以看到,如图所示:

image.png

任何的微服务都是 eureka 的客户端,都是要连接到 eureka 的,接着在 resources建立一个 application.yml 的文件:

在这个文件中输入如下代码:

Server:

port:8001

eurekat:

alient:

service-url:

defaultzone: http://127.0.0.118161/eureka

inatance:

prefer-ip~address: true

spring:

application:

name: gateway

cloud:

gateway:

Routes:

- id: v_goods_route

uri: lb://goods

predicates:

- Path=/gooda/**

filtera:

- StripPrefix=1

- id: v_order_route

url: lb://order

predicates:

- Path=/order/**

filtors:

- stripPrefix=1

根据代码我们可以看到它的端口配置时 8001,连接 eureka 这边的配置,spring 这一块表示的是服务名称,cloud 这一块表示的是服务网关的配置,这一块主要配置的就是路由这一部分的配置:

image.png

如果大家没有 gateway 这一部分的基础,那么就要留意一下路由的这个配置,微服务的名称叫做 goods,另一个微服务叫做 order,在旁边的项目栏都会有发现,Path=//goods** 的意思是 gateway 接收到的一个请求路线是 goods 打头的,那么他就会把这个请求录入后端的 gateway 微服务,录入后他会把 goods 给它去除掉,如果想去除掉两个头标签,在 filters 后面的设置中设置为 2 就可以了。

 

四、声明引导类

在 java 中新建一个 cn.itcast.gateway.GateWayApplication 的文件,在这个文件中,新建成功后传递一下 GateWayApplication 的表,如图所示:

image.png

再用 psvm 声明慢方法调用 SpringApplication 表然后输入如下代码:

import org.apringframevork.boot.springApplication;

Import org.apringframework.boot.autoconfigure.apringllootApplication;

import org.springframework.cloud.netflix.eureka.Enableturekaclimnt;

@SpringBootApplication

@EnableEurokaClient

public class GateWayApplication {

public static void main (String[] args) }

springApplication.run(GateWayApplication.class,args);

}

}

引导类就声明完毕了。

 

五、声明 Cors 配置类

声明的原因是用来解决跨域问题的,因为前端和微服务是位于不同的服务器的,这时就需要用 Cors 来解决;在上面的 GateWay 网关服务的说明我们可以看到前端和微服务之间都是跨域的。

在 java 中再次建立一个 config 的包在直接打入如下代码:

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

import org.springframework.web.cors.CorsConfiguration;

import org.springframework.web.cors.reactive.CorswebFilter;

import org.springframework.web.cors.reactive.urlBasedCorsConfigurationSource;

import org.springframework.web.util.pattern.PathPatternParser;

@Configuration

public class CorsConfig {

@Bean

public

CorswebFilter

corsFilter(){

UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(new

PathPatternParser());

source.registerCorsConfiguration("/**",buildconfig()):

return new CorswebFilter(source):

}

可以看到有一个 CorsWebFilter, 这样 GateWay 的服务网关就搭建成功了。

相关文章
API 微服务
41 0
|
2月前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 API 网关 2025 年 8 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要。
199 16
|
3月前
|
API
阿里云微服务引擎 MSE 及 API 网关 2025 年 7 月产品动态
阿里云微服务引擎 MSE 及 API 网关 2025 年 7 月产品动态
|
3月前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 API 网关 2025 年 7 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要。
|
3月前
|
Cloud Native API
微服务引擎 MSE 及云原生 API 网关 2025 年 6 月产品动态
微服务引擎 MSE 及云原生 API 网关 2025 年 6 月产品动态
|
3月前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 API 网关 2025 年 6 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要。
|
4月前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 API 网关 2025 年 5 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要
|
5月前
|
API
微服务引擎 MSE 及 API 网关 2025 年 4 月产品动态
微服务引擎 MSE 及 API 网关 2025 年 4 月产品动态
357 44
|
5月前
|
运维 Cloud Native 应用服务中间件
阿里云微服务引擎 MSE 及 API 网关 2025 年 4 月产品动态
阿里云微服务引擎 MSE 面向业界主流开源微服务项目, 提供注册配置中心和分布式协调(原生支持 Nacos/ZooKeeper/Eureka )、云原生网关(原生支持Higress/Nginx/Envoy,遵循Ingress标准)、微服务治理(原生支持 Spring Cloud/Dubbo/Sentinel,遵循 OpenSergo 服务治理规范)能力。API 网关 (API Gateway),提供 APl 托管服务,覆盖设计、开发、测试、发布、售卖、运维监测、安全管控、下线等 API 生命周期阶段。帮助您快速构建以 API 为核心的系统架构.满足新技术引入、系统集成、业务中台等诸多场景需要
阿里云微服务引擎 MSE 及 API 网关 2025 年 4 月产品动态