当前位置: 首页 > wzjs >正文

网站忧化教程四川 优质高职建设网站

网站忧化教程,四川 优质高职建设网站,wordpress前端登录按钮,工程建设教育培训前言:上一节中我们简单的介绍了一下关于SpringCloud Gateway的相关知识,而本节的主要内容是关于如果去搭建SpringCloud Gateway。 1、在搭建SpringCloud Gateway前需要先了解Gateway网关路由的两种配置方式 (1)在配置文件yml里进行配置 (2)在代码中注入…

前言:上一节中我们简单的介绍了一下关于SpringCloud Gateway的相关知识,而本节的主要内容是关于如果去搭建SpringCloud Gateway。

1、在搭建SpringCloud Gateway前需要先了解Gateway网关路由的两种配置方式
(1)在配置文件yml里进行配置
(2)在代码中注入RouteLocator的Bean

关于如何使用以上两种方式去搭建SpringCloud Gateway的官方文档: https://cloud.spring.io/spring-cloud-static/spring-cloud-gateway/2.2.1.RELEASE/reference/html/#configuration-properties


2、搭建gateway模块
(1)在父工程下新建模块

(2)选择模块的项目类型为Maven并选择模块要使用的JDK版本
(3)填写子模块的名称,然后点完成即可完成创建 

效果图:

(4)修改cloud-gateway-gateway9527子模块的pom.xml文件,然后reolad一下,下载依赖

例:

<?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"><parent><artifactId>springcloud01</artifactId><groupId>com.ken.springcloud</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>cloud-gateway-gateway9527</artifactId><dependencies><!--gateway--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency><!--Eureka Clinet--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency><!--引入自己定义的api调用包,可以使用Payment模块的entity--><dependency><groupId>com.ken.springcloud</groupId><artifactId>api-commons</artifactId><version>${project.version}</version></dependency><!--热部署--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional></dependency><!--lombok插件--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency></dependencies>
</project>

3、为子模块添加名为application的yml配置文件(注:yml是官方推荐的配置文件格式,最好使用yml文件而不是properties文件)

效果图:


如果application.yml不是绿色的,而是红色的,可以尝试install当前Maven工程,如果还不行可以尝试清除Idea的缓存

 


4、修改cloud-gateway-gateway9527模块的application.yml配置文件(这里我们先使用第一种方式即用配置文件yml来对Gateway网关路由进行配置)
server:port: 9527
spring:application:name: cloud-gatewaycloud:gateway:routes:#路由的ID,没有同定规则但要求唯一,建议配合服务名- id: payment_routh#断言,对与路径相匹配的进行路由,即对http://localhost:8001/payment/get/**下的路径进行路由predicates:- Path=/payment/get/**#匹配后提供服务的路由地址uri: http://localhost:8001#路由的ID,没有同定规则但要求唯一,建议配合服务名- id: payment_routh2#断言,对与路径相匹配的进行路由,即对http://localhost:8001/payment/lb/**下的路径进行路由predicates:- Path=/payment/lb/**#匹配后提供服务的路由地址uri: http://localhost:8001eureka:instance:hostname: cloud-gateway-serviceclient:#表示是否将自己注册进Eureka Server里,默认为trueregister-with-eureka: true#是否从Eureka Server抓取已有的注册信息,默认为true,单节点无所谓,集群必须设置为true才能配合ribbon使用负载均衡fetch-registry: trueservice-url:defaultZone: http://eureka7001.com:7001/eureka/

5、为cloud-gateway-gateway9527子模块新建一个主启动类,类名输入com.ken.springcloud.GateWayMain9527,然后创建即可

效果图:

6、编写GateWayMain9527主启动类
package com.ken.springcloud;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;@SpringBootApplication
@EnableEurekaClient
public class GateWayMain9527 {public static void main(String[] args) {SpringApplication.run(GateWayMain9527.class, args);}}

7、分别启动eureka-server7001、cloud-gateway-gateway9527、provider-payment8001

效果图:

8、在浏览器地址栏输入http://eureka7001.com:7001/然后进入eureka的界面查看cloud-gateway-gateway9527、provider-payment8001是否成功注册进eureka

9、在浏览器的地址栏里分别输入http://localhost:9527/payment/get/1、http://localhost:9527/payment/lb,通过调用接口可以看出我们成功的通过gateway来把请求从对cloud-gateway-gateway9527服务的访问转发到了对provider-payment8001服务的访问

效果图:

我是分割线 


在上述Gateway的搭建过程中,我们使用了编写yml的方式来对Gateway网关路由进行了配置,而在一开始我们就介绍了SpringCloud Gateway网关路由有两种配置方式,接下来则是介绍关于第二种路由配置方式,即如何在代码中注入RouteLocator的Bean来进行路由


10、在代码中注入RouteLocator的Bean在com.ken.springcloud包下新建一个名为config的包

效果图:

11、在config包下新建一个名为GateWayConfig的类

效果图:

12、编写GateWayConfig类
package com.ken.springcloud.config;import org.springframework.cloud.gateway.route.RouteLocator;
import org.springframework.cloud.gateway.route.builder.RouteLocatorBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
public class GateWayConfig {/*** 配置一个id为payment_routh的路由规则,当访问地址为http://localhost:9527/payment/get/**时会自动把请求转发到http://localhost:8001/payment/get/*** @param routeLocatorBuilder* @return*/@Beanpublic RouteLocator customRouteLocator(RouteLocatorBuilder routeLocatorBuilder) {RouteLocatorBuilder.Builder routes = routeLocatorBuilder.routes();routes.route("payment_routh", r -> r.path("/payment/get/**").uri("http://localhost:8001")).build();return routes.build();}/*** 配置一个id为payment_routh2的路由规则,当访问地址为http://localhost:9527/payment/lb/**时会自动把请求转发到http://localhost:8001/payment/lb/*** @param routeLocatorBuilder* @return*/@Beanpublic RouteLocator customRouteLocator2(RouteLocatorBuilder routeLocatorBuilder) {RouteLocatorBuilder.Builder routes = routeLocatorBuilder.routes();routes.route("payment_routh2", r -> r.path("/payment/lb/**").uri("http://localhost:8001")).build();return routes.build();}}

参数相关介绍: 

13、注释掉yml配置文件里的关于路由的相关配置
server:port: 9527
spring:application:name: cloud-gateway
#  cloud:
#    gateway:
#      routes:
#        #路由的ID,没有同定规则但要求唯一,建议配合服务名
#        - id: payment_routh
#          #断言,对与路径相匹配的进行路由,即对http://localhost:8001/payment/get/**下的路径进行路由
#          predicates:
#            - Path=/payment/get/**
#          #匹配后提供服务的路由地址
#          uri: http://localhost:8001
#        #路由的ID,没有同定规则但要求唯一,建议配合服务名
#        - id: payment_routh2
#          #断言,对与路径相匹配的进行路由,即对http://localhost:8001/payment/lb/**下的路径进行路由
#          predicates:
#            - Path=/payment/lb/**
#          #匹配后提供服务的路由地址
#          uri: http://localhost:8001eureka:instance:hostname: cloud-gateway-serviceclient:#表示是否将自己注册进Eureka Server里,默认为trueregister-with-eureka: true#是否从Eureka Server抓取已有的注册信息,默认为true,单节点无所谓,集群必须设置为true才能配合ribbon使用负载均衡fetch-registry: trueservice-url:defaultZone: http://eureka7001.com:7001/eureka/

14、重启cloud-gateway-gateway9527服务

效果图:

15、再次在浏览器的地址栏里分别输入http://localhost:9527/payment/get/1、http://localhost:9527/payment/lb,通过调用接口可以看出我们成功的通过gateway来把请求从对cloud-gateway-gateway9527服务的访问转发到了对provider-payment8001服务的访问

效果图:


文章转载自:

http://jGZpu08V.rqmqr.cn
http://jF03vtmK.rqmqr.cn
http://UUkigF5V.rqmqr.cn
http://xvhiekaz.rqmqr.cn
http://vOklVr0e.rqmqr.cn
http://Jv1fnTFt.rqmqr.cn
http://7rnCrXgF.rqmqr.cn
http://XKccbiBb.rqmqr.cn
http://YNxpjz4w.rqmqr.cn
http://Rx3J1pOZ.rqmqr.cn
http://2jkd1xri.rqmqr.cn
http://xcTzpB7s.rqmqr.cn
http://UPrVfkWd.rqmqr.cn
http://q0DNmmp1.rqmqr.cn
http://k3UruKhN.rqmqr.cn
http://6tpFA2rr.rqmqr.cn
http://ttliOtfg.rqmqr.cn
http://kEgGpgKr.rqmqr.cn
http://L7kXKsKN.rqmqr.cn
http://F2DBWiGM.rqmqr.cn
http://s4l6uWq2.rqmqr.cn
http://z2zjzFzm.rqmqr.cn
http://EVc0S0fs.rqmqr.cn
http://7Cwuvfkm.rqmqr.cn
http://sOaYhFA8.rqmqr.cn
http://5PTUw01j.rqmqr.cn
http://pxVbKDC1.rqmqr.cn
http://C0aSHLi1.rqmqr.cn
http://6m9KaeE2.rqmqr.cn
http://KcQ4s2oe.rqmqr.cn
http://www.dtcms.com/wzjs/777145.html

相关文章:

  • 泰语网站怎么建设lua做网站
  • 农产品网站建设及优化项目如何注册自己的工作室
  • 西安是哪个省的城市小说网站seo排名怎么做
  • 邯郸做紧固件网站网站首页qq在线咨询js
  • 做搜狗手机网站快速排我找伟宏篷布我做的事ko家的网站
  • 如何建设网站平台企业手机app开发公司
  • 南京林业大学实验与建设网站徐州个人建站模板
  • 随州网站制作价格北海哪里做网站
  • 电脑网站和手机网站怎么做相同路径ppt模板 网站开发
  • 设计名字的网站网站免费创建
  • 城建公司建设网站基础资料凡客诚品官网app
  • 织梦贷款网站源码网络安全公司排名前十名
  • 做门户网站那个系统好小微宝安网站建设
  • 双语网站开发深圳网络推广优化
  • 国内高清视频素材网站苏州集团网站设计企业
  • 做导购网站企业网站有哪些优点
  • 西安建网站的公司大庆建设集团网站
  • 商城网站设计图专业做网站优化排名
  • 怎样找到免费的黄页网站燕郊个人网站建设
  • 建设视频网站多少钱建立一个网站的前期资金
  • 为什么 要建设网站网站建设教育培训
  • 省建设干部培训中心网站网站手机端设计
  • 清远做网站的公司一线城市做网站工资有多少
  • 车工订单网站页面设计比例
  • 上海专业做网站建设公司dedecms做网站和thinkphp
  • 学习网站建设的是什么专业图片外链生成工具
  • 优惠券网站怎样做做seo要明白网站
  • 网站页面确认书景区网站建设策划书
  • 专门做问卷调查的一个网站建筑公司企业理念
  • 网站开发刷新图片友情链接方面pr的选择应该优先选择的链接为