Spring Cloud Gateway整合Eureka应用

SpringCloud视频教程:

https://ke.qq.com/course/2805647?tuin=a3e3fb1&from_uin=171851697&from=1000201007

个人博客纯净版

http://www.51ufo.cn/%E5%BE%AE%E6%9C%8D%E5%8A%A1/%E5%88%86%E5%B8%83%E5%BC%8F/2020/07/11/SpringCloud%E5%85%A5%E9%97%A823-Spring-Cloud-Gateway%E6%95%B4%E5%90%88Eureka%E5%BA%94%E7%94%A8.html

前面我们学习了路由转发,但是目标服务配置的都是外部服务的形势,那么网关能够通过注册的Eureka注册中心,实现内部服务的转发吗?答案是肯定的,下面我们来具体实现一下

下面的示例启动两个服务:service-gataway 和 eureka-client-provider 都注册到注册中心 Eureka上,客户端请求后端服务【eureka-client-provider】,网关提供后端服务的统一入口。网关通过负载均衡将客户端请求转发到具体的后端服务。

序号

服务名称

端口号

备注

1

gateway-server

80

网关服务

2

eureka-client-provider

8080

服务提供者

3

eureka-server

8761

注册中心

具体实现

首先在service-gateway服务的pom.xml中添加以下依赖:


    org.springframework.cloud
    spring-cloud-starter-netflix-eureka-client

在工程的配置文件application.yml中,配置信息如下:

spring:
  cloud:
    gateway:
      discovery:
        locator:
          enabled: true
          lower-case-service-id: true
eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/
  instance:
    prefer-ip-address: true
    instance-id: ${spring.cloud.client.ip-address}:${server.port}

分别启动eureka-server eureka-client-provider service-gateway 服务,在浏览器访问http://localhost:8761/,注册中心显示如下:

Spring Cloud Gateway整合Eureka应用_第1张图片

在浏览器访问http://localhost/eureka-client-provider/hello?name=xiaoming&token=123,返回如下:

hello, xiaoming, 我是服务提供者:端口为:8080

此时说明网关转发内部服务成功

本文代码git地址https://gitee.com/xmingtx/springcloud-lesson.git

你可能感兴趣的:(java,java,后端)