zoukankan      html  css  js  c++  java
  • spring cloud:gateway-eureka

    gateway-server-eureka

    1. File-->new spring starter project

    2.add dependency

        <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>

    3.Edit application.yml

    server:
      port: 8080
    spring:
      application:
        name: gateway-server-eureka
      cloud:
        gateway:
    #      routes:
    #      - id: neo_route
    #        uri: https://www.cnblogs.com/alittlesmile/
    #        predicates:
    #        - Path=/alittlesmile
          discovery:
            locator:
              enabled: true
    
    eureka:
      client:
        service-url:
          defaultZone: http://localhost:8000/eureka/

    配置说明:

    • spring.cloud.gateway.discovery.locator.enabled:是否与服务注册于发现组件进行结合,通过 serviceId 转发到具体的服务实例。默认为 false,设为 true 便开启通过服务中心的自动根据 serviceId 创建路由的功能。
    • eureka.client.service-url.defaultZone指定注册中心的地址,以便使用服务发现功能

    修改完成后启动 gateway-server-eureka 项目,访问注册中心地址 http://localhost:8000/ 即可看到名为 GATEWAY-SERVER-EUREKA的服务。

    4.program

    package com.smile;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
    
    @SpringBootApplication
    @EnableEurekaClient
    public class GatewayServerEurekaApplication {
    
        public static void main(String[] args) {
            SpringApplication.run(GatewayServerEurekaApplication.class, args);
        }
    
    }

    5.Run

    开启之后我们就可以通过地址去访问服务了,格式如下:

    http://网关地址/服务名称(大写)/**

    http://localhost:8084/FSH-HOUSE/house/1

    这个大写的名称还是有很大的影响,如果我们从Zull升级到Spring Cloud Gateway的话意味着请求地址有改变,或者重新配置每个服务的路由地址,通过源码我发现可以做到兼容处理,再增加一个配置即可:

    spring.cloud.gateway.discovery.locator.lowerCaseServiceId=true

    配置完成之后我们就可以通过小写的服务名称进行访问了,如下:

    http://网关地址/服务名称(小写)/**

    http://localhost:8084/fsh-house/house/1

    启动producer,producer-1

    在浏览器多次访问地址:http://localhost:8080/PRODUCER/getHello?name=xx,页面交替返回以下信息:

    hello xx
    hello xx,this is producer 1
    

    说明后端服务自动进行了均衡负载。

  • 相关阅读:
    第7章 类
    windows查询端口占用以及kill
    判断电脑的系统,以及windows是否是XP
    Promise.all 出现异常时候处理
    [Vue warn]: Failed to mount component: template or render function not defined.
    电脑缺少配置 输入命令解决
    Vue packages version mismatch
    数组里 对象去重
    hexo 创建博客
    查看端口占用,并结束占用端口
  • 原文地址:https://www.cnblogs.com/alittlesmile/p/10912252.html
Copyright © 2011-2022 走看看