前言 

之前作业是使用 nacos注册中心来搭建有一个微服务,消费者必然要用到gateway网关来操作路由,并且配置负载均衡策略。

搭建微服务-文章链接:快速搭建微服务-Nacos_一码超人的博客-CSDN博客_微服务搭建nacos

添加一个gateway模块

配置文件application.yml

server:port: 8877
spring:application:name: java-gatewaycloud:nacos:discovery:server-addr: 127.0.0.1:8848gateway:# 结合nacosdiscovery:locator:enabled: trueroutes:- id: java-provider # 标识,这里写了服务名城管uri: lb://java-provider # nacos中调用的服务名称predicates:- Path=/java/** # 简化路由,将java-provider改为javafilters:- StripPrefix=1

访问服务:http://127.0.0.1:8877/java/**

默认是轮询策略,loadbalancer有两种策略,一个是轮询一个便是随机。关于权重策略可以在nacos后台进行修改 。

修改为随机策略,添加配置类。

package com.example.gateway.config;import org.springframework.cloud.client.ServiceInstance;
import org.springframework.cloud.loadbalancer.core.RandomLoadBalancer;
import org.springframework.cloud.loadbalancer.core.ReactorLoadBalancer;
import org.springframework.cloud.loadbalancer.core.ServiceInstanceListSupplier;
import org.springframework.cloud.loadbalancer.support.LoadBalancerClientFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.core.env.Environment;public class LoadBalancerConfig {@BeanReactorLoadBalancer<ServiceInstance> randomLoadBalancer(Environment environment,LoadBalancerClientFactory loadBalancerClientFactory) {String name = environment.getProperty(LoadBalancerClientFactory.PROPERTY_NAME);return new RandomLoadBalancer(loadBalancerClientFactory.getLazyProvider(name, ServiceInstanceListSupplier.class),name);}
}

启动类,添加注解。

package com.example.gateway;import com.example.gateway.config.LoadBalancerConfig;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.loadbalancer.annotation.LoadBalancerClients;@SpringBootApplication
@LoadBalancerClients(defaultConfiguration = LoadBalancerConfig.class)
public class GatewayApplication {public static void main(String[] args) {SpringApplication.run(GatewayApplication.class, args);}
}

测试结果

gateway网关负载均衡策略相关推荐

  1. Nginx面试三连问:Nginx如何工作?负载均衡策略有哪些?如何限流?

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 1.什么是Nginx,谈谈个人都理解,项目中是否用到,为什 ...

  2. nginx css 304 导致图片丢失_Nginx面试三连问:如何工作?负载均衡策略有哪些?如何限流?...

    文章来源于HelloCoder ,作者HaC 1.什么是Nginx,谈谈个人都理解,项目中是否用到,为什么要用,有什么优点? Nginx ,是一个 Web 服务器和反向代理服务器用于 HTTP.HTT ...

  3. Spring Cloud Gateway之负载均衡

    ​ 本人最近在学习Spring Cloud Gateway但是发现网上的相关文章都没有介绍其如何使用负载均衡策略,那么本篇文章就给大家带来如何使用Spring Cloud Gateway负载均衡策略. ...

  4. SpringCloud Ribbon(二)之自定义负载均衡策略IRule

    一.Ribbon负载均衡策略 一个服务对应一个LoadBalancer,一个LoadBalancer只有一个Rule,LoadBalancer记录服务的注册地址,Rule提供从服务的注册地址中找出一个 ...

  5. dubbo负载均衡策略配置

    前言 在生产环境中,服务的集群部署是常有的事,从消费端来说,本身并不关注所需要的服务是由哪台机器提供,但是为了应用的健壮性和高可用性,从消费端来说,可以配置一定的负载均衡策略,确保消费端的应用能够及时 ...

  6. web应用负载均衡策略

    1.  名词解释 1.  正向代理与反向代理 简单说 我们内网访问facebook用的代理就叫正向代理 从美国访问我们内网需要的代理就叫反向代理 多台服务器处于一个内网,而我们要访问这些服务器,中间加 ...

  7. Ribbon的负载均衡策略

    一.Ribbon负载均衡 如上图所示,负载均衡就是避免单个服务的实例处理大批量请求而导致其他实例空闲,造成资源浪费.负载均衡分为客户端.服务端的负载均衡,它们最大的区别在于维护服务器的清单保存的位置不 ...

  8. GateWay实现负载均衡

    GateWay实现负载均衡 通过GateWay实现负载均衡的两种方式 自动负载均衡 首先看一下网关服务9999的yml配置: gateway.discovery.locator.enabled: tr ...

  9. 负载均衡策略深入剖析

    在实际应用中,我们可能不想仅仅是把客户端的服务请求平均地分配给内部服务器,而不管服务器是否宕机.而是想使Pentium III服务器比Pentium II能接受更多的服务请求,一台处理服务请求较少的服 ...

最新文章

  1. Image deformation of AffineSimilarityRigidProjective
  2. 基于点云的3D障碍物检测
  3. 【C语言】关于结构体最后的长度为0或1数组的思考
  4. vue 声明周期函数_Vue_生命周期函数
  5. 资料分享 | python机器学习教程分享来袭
  6. arcpy.mapping常用四大件-MapsurroundElement
  7. 蓝队应对攻击的常用策略二
  8. C++内存汇编逆向安全全集
  9. 2014清华计算机系直博名单,2014年清华大学博士研究生拟录取名单公示
  10. CentOS7安装Hadoop-3.3.0集群
  11. 基于JavaEye-API实现的Gerry-聊天QQ版v2.0
  12. Alios things学习——helloworld
  13. ABB机器人的几种停止指令详解
  14. OPENGL 半透明贴图
  15. iOS开发者账号过期续费
  16. 阿里云安全管家使用教程
  17. 7-5 最佳情侣身高差c语言
  18. 机器学习--逻辑回归模型(Logistic Regression)
  19. Silverlight的未来[译文]
  20. 【Access to XMLHttpRequest at ‘http://localhost:8080/test/doLogin.do?id=1414pwd=4141code=4141‘ 】

热门文章

  1. redis设置key当天到期、当月到期
  2. 移动优惠套餐到期了怎么办?这两种方法大家了解一下!
  3. vmware主机不能拖文件到虚拟机但虚拟机可以拖到主机
  4. 针对AMESim安装中遇到的问题
  5. python中的转义字符有哪些_Python中的转义字符
  6. __weak类型函数
  7. JAVA毕业设计济南旅游网站计算机源码+lw文档+系统+调试部署+数据库
  8. java 字节批量拷贝_Java基础回顾 : 利用字节流实现文件的拷贝
  9. ExpertXLS Excel 用作 .NET 托管程序集
  10. html+css 核心知识总结