码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • spring cloud、gradle、父子项目、微服务框架搭建---cloud gateway(十)



    总目录

    https://preparedata.blog.csdn.net/article/details/120062997


    文章目录

      • 总目录
      • 一、简介
      • 二、order、pay服务 配置context-path
      • 三、新建gateway网关服务
        • (1) 启动类添加 @SpringCloudApplication 即可
        • (2) application.yml 配置端口号 和 eureka 注册地址
      • 四、配置gateway网关服务
        • (1)引入依赖
        • (2)在application.yml中配置 转发地址
      • 五、测试


    以eureka为注册中心,且正常运行, eureka的配置可参考:https://preparedata.blog.csdn.net/article/details/120063331


    一、简介

    需要创建三个服务cloud,可参考:https://preparedata.blog.csdn.net/article/details/120082979

    1.gateway网关服务 端口:20000
    2.order订单服务 端口:11004
    3.pay支付服务 端口:11005

    gateway网关服务,同order、pay两服务一样,都应该首先注册到eureka中


    二、order、pay服务 配置context-path

    order、pay服务各自配置服务context-path

    server:
      servlet:
        context-path: /shopping-order
    
    • 1
    • 2
    • 3
    server:
      servlet:
        context-path: /shopping-pay
    
    • 1
    • 2
    • 3

    各个业务服务context-path只要唯一不重复即可


    三、新建gateway网关服务

    初始化gateway网关服务时,就是一个普通的cloud服务, 无过多配置

    (1) 启动类添加 @SpringCloudApplication 即可

    (2) application.yml 配置端口号 和 eureka 注册地址

    #声名服务端口号
    server:
      port: 20000
    
    #设置服务名称
    spring:
      application:  # 应用名字,eureka 会根据它作为服务id
        name: gateway
    
    eureka:
      # instance内容非必填项,可删除,
      # 若删除后。注册到Eureka,则显示 Windwos-10HLZJF:shopping-goods:11003(电脑主机名:服务名:端口),多人运行同一个服务,不利于服务归属开发人员
      instance:
        instance-id: 192.168.88.63(程序员A)
      client:
        #是否在注册中心注册自己
        register-with-eureka: true
        #是否从 eureka 获取注册信息
        fetch-registry: true
        #配置注册中心的url (注意:地址最后面的 /eureka/ 这个是固定值)服务注册也就依赖这个url,后续我们会用到
        service-url:
          defaultZone: http://localhost:11001/eureka
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    以上是基本配置


    四、配置gateway网关服务

    (1)引入依赖

    implementation 'org.springframework.cloud:spring-cloud-starter-gateway:2.0.2.RELEASE'
    
    • 1

    (2)在application.yml中配置 转发地址

    #设置服务名称
    spring:
      application:  # 应用名字,eureka 会根据它作为服务id
        name: gateway
      cloud:
        gateway:
          routes:
              #路由的ID 唯一即可
            - id: shopping-order
              #路由的地址
              uri: http://localhost:11004
              # 可以指定ip端口路由, 也可以通过名称路由,方便服务多副本配置
              #uri: lb://shopping-order
              predicates:
                - Path=/shopping-order/**
    
            #路由的ID 唯一即可
            - id: shopping-pay
            #路由的地址
              #uri: http://localhost:11005
              # 可以指定ip端口路由, 也可以通过名称路由,方便服务多副本配置
              uri: lb://shopping-pay
              predicates:
                - Path=/shopping-pay/**
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    spring.cloud.gateway.routes 配置order、pay两服务的转发路由

    注意:routes配置的文本格式


    五、测试

    请求order、pay两服务接口时,可以统一请求网关地址, 网关利用配置的shopping-order、shopping-pay将请求转发至对应服务上

    利用网关地址请求
    http://localhost:20000/shopping-order/hello/sayHello
    –> http://localhost:11004/shopping-order/hello/sayHello

    http://localhost:20000/shopping-pay/test/get
    –> http://localhost:11005/shopping-pay/test/get

    直接请求业务服务,当然也是可以
    http://localhost:11004/shopping-order/hello/sayHello
    http://localhost:11005/shopping-pay/test/get




  • 相关阅读:
    《剑指Offer》栈&队列全题——妙解思路,难度由浅入深
    scitb包1.5版本发布—增加了统计值的结果和自动判断数据是否正态分布的功能
    IDEA生成带参数和返回值注解
    【yum自动解决包依赖】linux离线安装rpm包及其依赖和卸载包及其依赖
    十三、企业开发(4)
    【C++11】std::function 包装器(又叫适配器),std::bind 绑定
    【CPP】函数重载、模版
    AVL平衡树的插入
    2023年中国研究生数学建模竞赛D题解题思路
    微博一面:JVM预热,你的方案是啥?
  • 原文地址:https://blog.csdn.net/sinat_16998945/article/details/132761594
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号