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

轻淘客网站怎么做网站建设的主要内容

轻淘客网站怎么做,网站建设的主要内容,手机网站开发基础,免费制作图片视频的软件官网地址: Spring Cloud Gateway 目录 1、SpringGateway简介 1、什么是网关 2、为什么用网关【为了转发】 2、应用: 1.启动nacos 2.创建网关项目 3.网关配置1 4.网关配置2【了解】 5.过滤器配置【了解】 1、SpringGateway简介 核心功能有三个&…

官网地址: Spring Cloud Gateway

目录

1、SpringGateway简介

1、什么是网关

2、为什么用网关【为了转发】

2、应用:

1.启动nacos

2.创建网关项目

3.网关配置1

4.网关配置2【了解】

5.过滤器配置【了解】


1、SpringGateway简介

核心功能有三个:

  • 路由:用于设置转发地址的

  • 断言:用来判断真实应该请求什么地址

  • 过滤器:可以过滤地址和处理参数

1、什么是网关

网关是后台服务的统一入口,类似于平时网络里提到的网关。

2、为什么用网关【为了转发】

在微服务架构开发中,网关是必要有的服务,它可以统一入口,解决跨域,负载均衡,各微服务通信等微服务整体管理和通信的。

场景:如果没有网关,前台要查用户信息,先往user的微服务下发送请求。然后又要查学生的信息,再往student的微服务下发送请求。这样的话,我要知道所有的微服务,他们的ip是什么?他们的端口是什么?才能把请求发送到他们的里面。那对于前端来讲的话,他要管理的微服务就太多了。而且还有一个问题,前端这么做,它是没有负载均衡的。它不知道我究竟应该发给谁?比如说user这个服务现在搭建了集群有三个,那请求过来了,我究竟是往集群里的哪一个发送呢?对于前端来说也是不知道的。

后台为了解决这个问题,就是你别搞这么复杂了,发送请求的时候都往一个地址发,但是url不一样。至于跳到哪个微服务,我后台来解决。Gateway就是专门来处理这个事的。在网关里面 集成了负载均衡 咱们就不用考虑这集群起来的微服务该给哪一个发了。

对于前端来讲,它发的不是网关的请求地址,而是nginx 的请求地址。发送到nginx地址后,再通过反向代理,代理到网关上。所以对于前端来说,只需要知道nginx就可以了,网关是不暴露给前端的。

一般来说都会为网关建立一个单独的微服务。

2、应用:

1.启动nacos

2.创建网关项目

【2.1添加pom.xml依赖】

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.7.RELEASE</version></parent><properties><java.version>1.8</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><spring-boot.version>2.6.13</spring-boot.version><jwt.version>0.7.0</jwt.version><fastjson.version>1.2.60</fastjson.version><spring-cloud-alibaba.version>2.0.3.RELEASE</spring-cloud-alibaba.version><spring-cloud.version>Finchley.SR2</spring-cloud.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency></dependencies><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring-cloud-alibaba.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><classifier>exec</classifier></configuration></plugin></plugins></build>

【2.2】创建启动类:

@SpringBootApplication
public class SpringBootMain {public static void main(String[] args) {SpringApplication.run(SpringBootMain.class,args);}
}

【注意】

网关是一个非常干净的工程,不会添加其它中间件的配置,所以网关工程里只有一个Application的启动类和配置文件。

启动类的注解@SpringBootApplication注解中可能开启的其它中间件的@EnableXXX,可以把其它中间件的注解排除掉,保证网关只启动自己的应用,只完成网关功能。

# 如果导入别人的项目,依赖是有传递性的这样你的项目里依赖的中间件就会很多,可以通过exclude属性排除掉。这样其他的中间件就不会启动了。
@SpringBootApplication(exclude = {XXXX.class, YYYY.class})

【2.3】编写bootstrap.yml配置文件

spring:cloud:nacos:discovery:server-addr: 192.168.146.128:8848config:server-addr: 192.168.146.128:8848inetutils:preferred-networks: 192.168.146

查看端口号

【2.4】编写application.properties配置文件

spring.application.name=gateway
server.port=300

创建一个页面来进行测试   【注意要建立index.html页面】要在static包下

【2.5】启动项目

3.网关配置1

删除页面

网关配置官方文档: Spring Cloud Gateway

【3.0】改动:

   <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><scope>compile</scope></dependency>
修改为:<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId><scope>compile</scope></dependency>

【3.1】添加依赖

        <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId><scope>compile</scope></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency>

【3.2】添加application.yml 配置文件:

spring:cloud:gateway:routes:- id: baidu_routeuri: https://www.baidu.compredicates:- Query=baidu

spring:
   cloud:
     gateway:
       routes:
         - id: baidu_route(路由id唯一,是一个数组,可以配置多个路由)
           uri: https://www.baidu.com(路由到的地址)
           predicates:(断言)
             - Query=url, baidu(如果存在url和baidu,那么跳转到uri地址)

【3.3】启动项目:

http://localhost:300/baidu不会跳转到百度,http://localhost:300/baidu?baidu才会跳转到百度,是根据参数做断言。?后面的值下图

输入正确跳到页面

【如果导入gateway依赖报错,试着修改下面的的java版本】

4.网关配置2【了解】

  1. The Path Route Predicate Factory

Path路由断言工厂接受一个参数:采用Spring PathMatcher 模式。

spring:
  cloud:
    gateway:
      routes:
          - id: path_route
          uri: https://example.org
          predicates:
            - Path=/red/{segment},/blue/{segment}

请求需要以red或者blue结尾,后面的参数会路由过去 例如:/red/1 ,/red/blue ,/blue/green等。

spring:
  cloud:
    gateway:
      routes:
        - id: baidu_route
          uri: https://www.baidu.com
          predicates:
            - Path=/red/**

5.过滤器配置【了解】

##公式模板
- id: third_party_route
  uri: lb://service-name
  predicates:
    - Path=/url1/url2/urln/**
  filters:
    - RewritePath=/url1/url2/urln/(?<segment>/?.*),/$\{segment}
    

##例子代码
spring:
  cloud:
    gateway:
      routes:
        #用户中心
        - id: user-route
          uri: lb://user
          predicates:
            - Path=/api/services/user/**
          filters:
            - RewritePath=/api/services/user/(?<segment>/?.*),/user/$\{segment}

id:取一个名字,自定义,见名知意,不要有下划线(规约)

uri:接收请求后真实转发的地址,lb:开头代表用负载均衡的方式找注册中心名字叫user服务的微服务

predicates:请求地址是以/api/services/user/开头,后接任意字符

filters:将请求地址重写成:/user/+参数/方法等

http://www.yayakq.cn/news/873868/

相关文章:

  • 网站制作泉州公司网站推广有哪些手段
  • 网站免费做软件有哪些西青网站文化建设
  • 自己做网站后台网站小图标素材下载
  • 苏州相城区网站建设互联网产品推广案例范文
  • 专业网站排名优化公司成都人高清影院品牌加盟
  • 单页面网站卖什么好做网站需要ps吗
  • 芜湖服装网站建设网站建设买了服务器后怎么做
  • 贵阳营销网站建设公司咸宁网站建设
  • 企业电子商务网站开发物流网站建设工作岗位
  • 网站建设 自学wordpress文章内容编辑器
  • 安溪县住房和城乡规划建设网站wordpress搜索判断
  • 绑定网站高明网站设计平台
  • 个人网站备案资料好看的网站后台界面
  • 列出网站目录wordpress 轮播图
  • 局网站建设管理制度做地方门户网站的排名
  • 垫江网站建设佛山室内设计公司排名
  • 制定 网站改版优化方案辽宁网站建设的网络科技公司
  • 个人网站建设联系公司logo设计图片免费下载
  • 城乡住房建设厅网站同城引流用什么软件
  • 如何做好网站首页wordpress网站没有阅读量
  • 网站建设域名注册一次性筷子网站建设
  • 专业的手机网站建设网站和平台有什么区别
  • seo实战密码百度云济宁seo营销
  • 服装网站的建设与管理广州专业做网站建设
  • 网站推广文章怎么写淄博网站优化价格
  • 重庆百科网站推广旅游网站开发的作用
  • 北京专业的网站建设建应用网站
  • 怎么做网站编辑微信报名小程序怎么制作
  • 企业网站建设开题报告是什么北京网站设计与开发
  • wordpress 购物 手机站国内wordpress例子