SpringCloud Alibaba入门7之引入服务网关Gateway

这篇具有很好参考价值的文章主要介绍了SpringCloud Alibaba入门7之引入服务网关Gateway。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

我们需要在客户端和服务端之间加一个统一的入口,来作为请求的统一接入,而在微服务的体系中,承担这个角色的就是网关。我们只需要将网关的机器IP配置到DNS,或者接入负载,那么客户端的服务最终通过我们的网关,再转发到对应的服务端服务。

一、创建网关服务

SpringCloud Alibaba入门7之引入服务网关Gateway

 1.引入依赖

<?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.example</groupId>
        <artifactId>myshop</artifactId>
        <version>1.0-SNAPSHOT</version>
    </parent>

    <artifactId>myshop-gateway</artifactId>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    <dependencies>
        <!--Spring Cloud Alibaba-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            <version>0.2.2.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba.nacos</groupId>
            <artifactId>nacos-client</artifactId>
        </dependency>
        <!-- spring cloud alibaba nacos config 依赖 -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
        <!--gateway网关-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>
    </dependencies>
</project>

2.添加配置application.yml

server:
  port: 9000
spring:
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
    gateway:
      discovery:
        locator:
          enabled: true
      routes:
        - id: user-service
          uri: lb://user-service
          predicates:
            - Path=/myuser/**
          filters:
            - StripPrefix=1
  application:
    name: gateway-service #应用名称

我们在里面进行了路由转发的配置,也就是routes,我们来看一看这些配置项都是什么意思:

  • id: 路由的唯一标识,用以和其它Route区分
  • uri: 请求要转发到的地址,lb 指的是从nacos中按照名称获取微服务,并遵循负载均衡策略
  • predicates: 路由需要满足的条件,也是个数组(这里是的关系)
  • filters: 过滤器,请求在传递过程中可以通过过滤器对其进行一定的修改

在这个配置项里,我们定义了myuser开头的请求,分发到user-service这个服务。

3.网关启动类

package com.example.myshop;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;

/**
 * @author qx
 * @date 2023/06/23
 * @desc 网关启动类
 */
@SpringBootApplication
// 开启服务注册发现
@EnableDiscoveryClient
public class MyShopGatewayApplication {
    public static void main(String[] args) {
        SpringApplication.run(MyShopGatewayApplication.class, args);
    }
}

4.路由转发测试

我们重新启动用户和网关模块。

SpringCloud Alibaba入门7之引入服务网关Gateway

 

常规形式下访问:

SpringCloud Alibaba入门7之引入服务网关Gateway

接下来我们改为使用网关服务来测试:

 SpringCloud Alibaba入门7之引入服务网关Gateway

 

我们已经引入了Spring Cloud Gateway作为微服务网关,并完成了基本的路由转发的功能。文章来源地址https://www.toymoban.com/news/detail-502607.html

到了这里,关于SpringCloud Alibaba入门7之引入服务网关Gateway的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SpringCloud微服务项目快速搭建(SpringCloud Alibaba)

            Spring Cloud Alibaba 是 Spring Cloud 和 Alibaba 面向微服务架构的一站式解决方案,为 Spring Cloud 生态中的各个组件提供了与 Alibaba 中间件的衔接、更方便、更易用的快速开发微服务的能力和支持 Nacos:服务注册和发现、配置中心,提供服务注册和发现、分布式配置等能力

    2024年02月10日
    浏览(41)
  • 【SpringCloud Alibaba】(一)微服务介绍

    此专栏内容皆来自于【冰河】的《SpringCloud Alibaba 实战》文档。 Spring Cloud Alibaba Reference Documentation 我们先来看看《SpringCloud Alibaba实战》专栏的整体结构吧,先上图 从上图,大家可以看到,专栏从整体上分为十个大的篇章,分别为 专栏设计、微服务介绍、微服务环境搭建、服

    2024年02月16日
    浏览(36)
  • SpringCloud Alibaba 面试题 微服务相关

    Spring Cloud Alibaba 介绍 Spring Cloud Alibaba 与微服务架构是一种分布式架构,它将复杂的应用系统拆分成若干可独立部署、可重复使用的微服务,以实现模块化,可靠性,可部署性的服务架构。 Spring Cloud Alibaba 集成了阿里巴巴各大中间件团队的高可用、稳定、高性能、低成本的服

    2024年02月12日
    浏览(37)
  • 【SpringCloud Alibaba】(二)微服务环境搭建

    整个项目主要分为 用户微服务、商品微服务和订单微服务 ,整个过程模拟的是用户下单扣减库存的操作。这里,为了简化整个流程,将商品的库存信息保存到了商品数据表,同时,使用商品微服务来扣减库存。小伙伴们在实现时,也可以将商品库存信息单独开发一个微服务

    2024年02月15日
    浏览(40)
  • 第二章 SpringCloud Alibaba 微服务环境搭建

    我们本次是使用的电商项目中的商品、订单、用户为案例进行搭建。 技术选型 maven:3.3.9 数据库:MySQL 5.7 持久层: SpingData Jpa 其他: SpringCloud Alibaba 技术栈 模块设计 springcloud-alibaba 父工程 shop-common 公共模块【实体类】 shop-user 用户微服务 【端口: 807x】 shop-product 商品微服务 【

    2024年02月04日
    浏览(49)
  • 【SpringCloud Alibaba】 介绍及微服务模块搭建

    欢迎来到阿Q社区 https://bbs.csdn.net/topics/617897123 Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。 依托 Spring Cloud Alibaba ,只需要添加一些注

    2024年01月22日
    浏览(37)
  • SpringCloud Alibaba - Seata 部署 TC 服务,并集成微服务

    目录 一、Seata 架构 1.1、Seata 架构重要角色 1.2、部署 TC 服务 1.2.1、前言 1.2.2、下载 seata-server 包,解压 1.2.3、修改配置 1.2.4、在 nacos 中添加配置 1.2.5、创建数据库表 1.2.6、启动 TC 服务 1.3、微服务集成 Seata 1.3.1、引入依赖 1.3.2、修改配置文件(添加 Seata) Seata 事务管理中,

    2024年02月07日
    浏览(42)
  • Java之SpringCloud Alibaba【四】【微服务 Sentinel服务熔断】

    Java之SpringCloud Alibaba【一】【Nacos一篇文章精通系列】 跳转 Java之SpringCloud Alibaba【二】【微服务调用组件Feign】 跳转 Java之SpringCloud Alibaba【三】【微服务Nacos-config配置中心】 跳转 Java之SpringCloud Alibaba【四】【微服务 Sentinel服务熔断】 跳转 Java之SpringCloud Alibaba【五】【微服务

    2024年02月12日
    浏览(43)
  • SpringCloud Alibaba微服务-- Sentinel的使用(保姆级)

    随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。 1、sentinel的特征 丰富的应用场景 : Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突

    2024年02月16日
    浏览(40)
  • 【微服务SpringCloud-Alibaba】:Nacos 配置中心

    在 SpringCloud 中,我们使用了 Config 组件管理所有配置文件,使用了 Bus 消息总线更新配置,两者需要配合使用才能动态的管理配置文件。而 Nacos 可以替代这两个组件,实现动态的管理所有配置文件。 2.1、添加配置文件 想要管理配置,先要有配置文件。在使用 Config 组件管理配

    2023年04月27日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包