Spring Cloud之三 网关 Gateway

1:Intellij 新建项目 spring-cloud-gateway

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>

    <groupId>cn.tigee</groupId>
    <artifactId>spring-cloud-gateway</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <java.version>1.8</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-parent</artifactId>
                <version>2023.0.3</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <dependencies>
        <!-- 引入 Spring Cloud Gateway 相关依赖,使用它作为网关,并实现对其的自动配置 -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
<!--        <dependency>-->
<!--            <groupId>org.springframework.boot</groupId>-->
<!--            <artifactId>spring-boot-starter-web</artifactId>-->
<!--        </dependency>-->
    </dependencies>
</project>

3:application.yml

复制代码
server:
  port: 7101
  servlet:
    context-path: /
spring:
  application:
    name: spring-cloud-gateway
  cloud:
    gateway:
      discovery:
        locator:
          enabled: true   #开启Eureka服务发现
          lower-case-service-id: true
eureka:
  client:
    service-url:
      defaultZone: ${EUREKA_URI:http://localhost:8761/eureka}
  instance:
    prefer-ip-address: true

4:启动类

复制代码
package tigee;

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

@SpringBootApplication
@EnableDiscoveryClient
public class ApplicationMain {
    static final Logger logger = LoggerFactory.getLogger(ApplicationMain.class);

    public static void main(String[] args) {
        logger.debug("服务启动..start......");
        SpringApplication.run(ApplicationMain.class, args);
        logger.debug("服务启动..end......");
    }

}

3:启动看 注册中心

4:请求接口

http://localhost:7101/user-service/hello?name=12

5:user-service 动多个端口

再请求 localhost:7101/user-service/hello?name=12

6:结果 是 端口 轮询显示

相关推荐
地瓜伯伯7 小时前
Nginx终极配置指南:负载均衡、限流、反向代理、IP白名单、SSL、云原生、DNS解析、缓存加速全都有
spring boot·nginx·spring·spring cloud·微服务·云原生·负载均衡
小安同学iter17 小时前
天机学堂day05
java·开发语言·spring boot·分布式·后端·spring cloud·微服务
我是小妖怪,潇洒又自在19 小时前
springcloud alibaba(六)Sentinel 配置
spring·spring cloud·sentinel
摇滚侠20 小时前
2025最新 SpringCloud 教程,接口测试,本地事务,打通链路,笔记65,笔记66,笔记67
笔记·spring·spring cloud
血小溅21 小时前
Spring Cloud 整合 Nacos:注册中心初始化全解析与 Spring 扩展技术揭秘(新增 Spring Boot 版本迭代差异)
spring cloud
Li_7695321 天前
Spring Cloud —— SkyWalking(三)
spring·spring cloud·skywalking
Li_7695322 天前
Spring Cloud —— SkyWalking (一)
spring·spring cloud·skywalking
Ttang232 天前
【SpringCloud1】从单体架构到分布式系统架构
分布式·spring cloud·架构
摇滚侠2 天前
2025最新 SpringCloud 教程,熔断规则-熔断策略-异常比例,笔记45
redis·笔记·spring cloud
摇滚侠2 天前
2025最新 SpringCloud 教程,Seat-原理-四种事务模式,总结,笔记72,笔记73
笔记·spring·spring cloud·架构