当前位置:   article > 正文

Spring Cloud Gateway整合Eureka应用_gateway+eureka

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中添加以下依赖:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
  • 1
  • 2
  • 3
  • 4

在工程的配置文件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}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

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

gateway-eureka.png

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

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

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/914902
推荐阅读
相关标签
  

闽ICP备14008679号