负载均衡 nginx和ribbon

LB(LoadBalance)是什么
就是将用户的请求平摊的分配到多个服务上,从而达到系统的高可用。

ribbon本地负载均衡VsNginx服务端负载均衡

Nginx是服务端负载均衡,客户端所有请求都会交给Nginx,然后由Ngxin实现转发请求。

Ribbon本地负载均衡,在调用微服务接口时候,会在注册中心上货去注册信息服务列表后缓存到jvm本地,从而在本地实现RPC远程调用服务技术。
Ribbon进程内LB,

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SpringCloud的复杂均衡 属于客户端;nginx辅助均衡属于服务器端 ,restTemplate 进行RPC调用.对外使用 rest http方式。DiscoveryClient 可以自己实现一个负载均衡的算法(使用请求总数 % 服务列表个数).算法文件跟新一下 @SpringBootApplication @EnableDiscoveryClient @RestController public class AppConsulClient { @Autowired private DiscoveryClient discoveryClient; @RequestMapping("/getServer") public String getServerInstance(){ List<ServiceInstance> list = discoveryClient.getInstances("consul-order"); for (ServiceInstance serviceInstance : list) { if(serviceInstance !=null ){ return serviceInstance.getUri().toString()+"---"+serviceInstance.getServiceId(); } } return null; } @Resource private RestTemplate restTemplate; @RequestMapping("/disconverClient") public String getDiscoveryClient(){ //获取服务列表 String serverurl = getServerurl(); if(StringUtils.isEmpty(serverurl)){ return "请求列表为null"; } System.out.println("请求服务地址:"+serverurl); return restTemplate.getForObject(serverurl,String.class); } private Integer requestCount = 1; @RequestMapping("/getServerurl") public String getServerurl(){ List<ServiceInstance> list = discoveryClient.getInstances("consul-order"); if(list == null && list.size() ==0){ return null; } //获取服务注册列表的个数 int size = list.size(); int index = requestCount % size; requestCount++; return list.get(index).getUri().toString(); } /** * @LoadBalanced 开启本地复杂均衡 * @return */ @Bean @LoadBalanced public RestTemplate restTemplate(){ return new RestTemplate(); } public static void main(String[] args) { SpringApplication.run(AppConsulClient.class); } }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值