【Spring Cloud】统一网关`Geteway`

统一网关Geteway

一.认识Geteway

在这里插入图片描述

二.Geteway搭建

1.新建一个子服务gateway(maven模块),添加依赖

<dependencies>
        <!--Nacos服务注册发现依赖-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <!--网关gateway依赖-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-gateway</artifactId>
        </dependency>
    </dependencies>

2.创建启动类GatewayApplication

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

3.application.yml编写路由配置以及nacos地址

server:
  port: 10010	#网关端口
spring:
  application:
    name: gateway #服务名称
  cloud:
    nacos:
      server-addr: localhost:8848 #nacos地址
    gateway:
      routes: #网关路由配置
       - id: user-service #路由id,自定义,只要唯一即可
          # uri:http://127.0.0.1:8081#路由的目标地址http就是固定地址
         uri: lb://userservice # 路由的目标地址 lb就是负载均衡,后面跟服务名称
         predicates: # 路由断言,也就是判断请求是否符合路由规则的条件
            - Path=/user/** #这个是按照路径匹配,只有/user/开头就符合要求

在这里插入图片描述

三.路由断言工厂Route Predicate Factory

在这里插入图片描述

  • PredicateFactory的作用是什么?
    • 读取用户定义的断言条件,对请求做出判断
  • Path=/user/**是什么含义?
    • 路径是以/user开头的就认为是符合的

四.路由过滤器GatewayFilter

在这里插入图片描述

在这里插入图片描述

server:
  port: 10010	#网关端口
spring:
  application:
    name: gateway #服务名称
  cloud:
    nacos:
      server-addr: localhost:8848 #nacos地址
    gateway:
      routes: #网关路由配置
       - id: user-service #路由id,自定义,只要唯一即可
          # uri:http://127.0.0.1:8081#路由的目标地址http就是固定地址
         uri: lb://userservice # 路由的目标地址 lb就是负载均衡,后面跟服务名称
         predicates: # 路由断言,也就是判断请求是否符合路由规则的条件
            - Path=/user/** #这个是按照路径匹配,只有/user/开头就符合要求
#         filters:
#          - AddRequestHeader=Truth, Itcast is freaking aowsome!
      default-filters: #全局
        - AddRequestHeader=Truth, Itcast is freaking aowsome!
  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
网关(Gateway)是连接不同网络的设备,也可以是负责管理网络传输的服务器。负载均衡(Load Balancing)是一种网络技术,用于分布网络请求的负载,以保持网络的可用性和性能。 在网关负载均衡配置中,我们通常需要考虑以下几个方面: 1. 选择合适的负载均衡算法:负载均衡算法决定了如何将网络请求分发到不同的后端服务器上。常见的负载均衡算法有轮询、最小连接数、最短响应时间等。我们需要根据实际需求选择合适的算法,以达到最佳的负载均衡效果。 2. 设定合理的权重和优先级:如果后端服务器的性能不同,我们可以通过调整权重和优先级来实现不同服务器的负载均衡。通常,性能较好的服务器会被赋予较高的权重和优先级,以便更多的请求被分发到该服务器上。 3. 监控和自动故障转移:为了保证高可用性,我们需要监控后端服务器的状态,并在服务器发生故障时进行故障转移。这可以通过定期检查服务器的可用性来实现,一旦检测到服务器不可用,网关将自动将流量重新分发到其他可用的服务器上。 4. 配置部分服务器:在某些情况下,我们可能希望某些特定的请求被分发给特定的服务器,这可以通过配置部分服务器来实现。例如,我们可以将某些特定的API请求分发给专门处理该API的服务器。 总而言之,网关负载均衡配置是一个复杂的过程,需要考虑多个因素,并结合实际需求和场景进行合理的配置。通过合适的配置,我们可以实现高可用性和性能的优化,提升网络服务的稳定性和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值