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

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 快速学习 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 的服务网关就搭建成功了。

相关文章
|
3天前
|
缓存 运维 监控
探索微服务架构中的API网关模式
在微服务架构的海洋中,API网关是连接客户端与众多微服务群岛之间的桥梁。本文将深入探讨API网关的设计原则、核心功能以及在现代软件架构中的关键作用,同时分析其在实际应用中的效益和面临的挑战。
|
5天前
|
监控 Kubernetes API
探索微服务架构中的API网关模式
【6月更文挑战第22天】在微服务架构的海洋中,API网关是一艘引领航行的旗舰。它不仅是服务的守门人,更是流量的指挥官和信息的翻译官。本文将深入探讨API网关的核心作用、设计考量与实现策略,为构建高效、可靠的微服务系统提供航标。
|
5天前
|
JSON 负载均衡 监控
探索微服务架构中的API网关模式
【6月更文挑战第22天】在微服务架构的海洋中,API网关犹如一座灯塔,指引着服务间的通信与集成。本文将深入探讨API网关的核心概念、设计原则及其在现代后端系统中的关键作用,同时通过实例分析其对系统性能和可维护性的影响,为读者提供一种视角,理解如何高效地构建和管理微服务架构下的API网关。
|
12天前
|
负载均衡 安全 API
探索微服务架构中的API网关模式
【6月更文挑战第15天】本文深入探讨了微服务架构中API网关的核心作用与设计原则。通过分析网关在请求路由、负载均衡、安全验证等方面的功能,揭示了其作为系统入口的重要性。同时,文章还讨论了实现高效API网关的技术策略和最佳实践。
|
8天前
|
弹性计算 负载均衡 API
微服务架构下的API网关模式解析
在现代软件工程中,微服务架构因其灵活性和可维护性而受到青睐。本文将探讨API网关模式在微服务架构中的关键角色,分析其设计原则、实现方式及面临的挑战,并结合实际案例阐述如何有效整合API网关以提升系统整体性能和安全性。
|
11天前
|
安全 应用服务中间件 API
微服务架构下的API网关设计与实现
【6月更文挑战第16天】本文将深入探讨在微服务架构中,如何设计和实现一个高效的API网关。我们将从API网关的基本概念入手,然后详细解析其设计原则和实现方法,最后通过一个实例来具体展示API网关的实现过程。
|
10天前
|
缓存 负载均衡 安全
探索微服务架构中的API网关模式
【6月更文挑战第16天】在微服务架构的海洋中,API网关扮演着灯塔的角色,指引着服务的发现与路由。本文将深入探讨API网关的设计原则、关键功能以及在现代后端系统中的应用实践。我们将一起航行于微服务的世界,揭开API网关如何提升系统的整体性能和安全性的神秘面纱。
|
12天前
|
负载均衡 安全 API
探索微服务架构中的API网关模式
【6月更文挑战第15天】在这篇文章中,我们将深入探讨微服务架构中的一个关键组件——API网关。我们将了解API网关的作用、设计原则以及如何在实际项目中实现它。通过阅读本文,您将获得关于如何优化和保护您的微服务架构的实用见解。
|
12天前
|
监控 负载均衡 安全
微服务架构下的API网关设计实践
【6月更文挑战第15天】本文将深入探讨在构建现代软件系统时,如何有效地设计和实现一个API网关。我们将从API网关的核心作用出发,分析其在不同场景下的应用,并结合实际案例,展示如何通过API网关提升系统的可扩展性、安全性和性能。文章旨在为后端开发人员提供一套清晰的指南,帮助他们在微服务架构中实现高效且可靠的API管理策略。
|
7天前
|
负载均衡 API 开发者
深入理解微服务架构中的API网关模式
在微服务架构中,API网关不仅仅是一个请求转发的节点,它承担着请求路由、负载均衡、认证授权、限流熔断等关键职责。本文将深入探讨API网关的设计原则、实现技术以及在实际部署中的最佳实践,帮助开发者构建一个高效、安全且可扩展的微服务入口。

热门文章

最新文章