客户端实现负载均衡:springCloud Ribbon的使用
Netfilx发布的负载均衡器,是一个基于http、tcp的客户端负载均衡工具,具有控制http、tcp客户端的行为,为ribbon配置服务提供者的地址后,ribbon就
可以经过springCloud的封装实心客户端负载均衡的服务调用。
服务端负载均衡
负载均衡主要是实现对系统的高可用、网络压力的缓解、处理能力的伸缩。对于数据流量过大,往往单一设备是无法承担的,需要多台的设计进行分流。
1.软负载均衡
在一台机器上安装附加的某种软件,如nginx负载均衡,配置简单、成本低。根据部署的应用于系统的状态来分配资源进行负载、负载的能力不过受限于机器本身,性能越好,负载能力越大。
2.硬负载均衡
通过服务器和外部网络间安装负载均衡的设备,称为"负载均衡器",硬件的负载均衡在功能想、性能上往往高于软负载均衡,不过价格昂贵,例:F5负载均衡器。能够通过智能交换机来实现负载,负载的能力与系统、应用无关,主要是通过网络层来判断,比如某时候系统处理能力已经不行了,但是可以通过网络来进行分配,成本高,除设备价格高昂,而且配置冗余.很难想象后面服务器做一个集群,但最关键的负载均衡设备却是单点配置;无法有效掌握服务器及应用状态。
使用springcloud ribbon实现与eureka的配合
ribbon可从eureka服务注册表中获取服务提供者的地址列表,使用一定的负载均衡算法,Ribbon的工作主要分为2步。
1.先选择eureka service ,优先选择一个zone负载较小的service。
2.根据用户制定策,从service取得eureka 服务注册表中选择一个地址。
提供的策略:轮询Round Robin、随机Random、ResponseTime加权
/* 使用属性自定义功能区客户端
从版本1.2.0开始,Spring Cloud Netflix现在支持使用属性与Ribbon文档兼容来自定义功能区客户端。 这允许您在不同环境中更改启动时的行为。 支持的属性如下所示,应以<clientName>.ribbon.: NFLoadBalancerClassName:应该实施 ILoadBalancer NFLoadBalancerRuleClassName:应该实施 IRule NFLoadBalancerPingClassName:应该实施 IPing NIWSServerListClassName:应该实施 ServerList NIWSServerListFilterClassName 应实施 ServerListFilter
在这些属性中定义的类优先于使用@RibbonClient(configuration=MyRibbonConfig.class)Spring 定义的bean 以及由Spring Cloud Netflix提供的默认值。
描述:配置文件中定义ribbon优先代码定义
*/
在微服务架构中使用客户端负载均衡使用。
1.服务提供者启动多个服务 注册到服务注册中心同一个实例。
2.服务消费者通过使用注解的方式修饰RestTemplate实现向服务的接口进行调用。
@Bean
@LoadBalanced
public RestTemplate restTemplate() {
return new RestTemplate();
}
客户端实现负载均衡:springCloud Ribbon的使用的更多相关文章
- SpringCloud系列之客户端负载均衡Netflix Ribbon
1. 什么是负载均衡? 负载均衡是一种基础的网络服务,它的核心原理是按照指定的负载均衡算法,将请求分配到后端服务集群上,从而为系统提供并行处理和高可用的能力.提到负载均衡,你可能想到nginx.对于负 ...
- SpringCloud系列七:使用Ribbon实现客户端侧负载均衡
1. 回顾 在前面,已经实现了微服务的注册与发现.启动各个微服务时,Eureka Client会把自己的网络信息注册到Eureka Server上. 但是,在生成环境中,各个微服务都会部署多个实例,因 ...
- SpringCloud全家桶学习之客户端负载均衡及自定义负载均衡算法----Ribbon(三)
一.Ribbon是什么? Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端 负载均衡的工具(这里区别于nginx的负载均衡).简单来说,Ribbon是Netf ...
- SpringCloud 客户端负载均衡:Ribbon
目录 Ribbon 介绍 开启客户端负载均衡,简化 RestTemplate 调用 负载均衡策略 Ribbon 介绍 Ribbon 是 Netflix 提供的一个基于 Http 和 TCP 的客户端负 ...
- SpringCloud系列五:Ribbon 负载均衡(Ribbon 基本使用、Ribbon 负载均衡、自定义 Ribbon 配置、禁用 Eureka 实现 Ribbon 调用)
1.概念:Ribbon 负载均衡 2.具体内容 现在所有的服务已经通过了 Eureka 进行了注册,那么使用 Eureka 注册的目的是希望所有的服务都统一归属到 Eureka 之中进 行处理,但是现 ...
- Spring Cloud 入门教程(五): Ribbon实现客户端的负载均衡
接上节,假如我们的Hello world服务的访问量剧增,用一个服务已经无法承载, 我们可以把Hello World服务做成一个集群. 很简单,我们只需要复制Hello world服务,同时将原来的端 ...
- Spring Cloud官方文档中文版-客户端负载均衡:Ribbon
官方文档地址为:http://cloud.spring.io/spring-cloud-static/Dalston.SR2/#_spring_cloud_netflix 文中例子我做了一些测试在:h ...
- 客户端负载均衡Ribbon之一:Spring Cloud Netflix负载均衡组件Ribbon介绍
Netflix:['netfliːks] ribbon:英[ˈrɪbən]美[ˈrɪbən]n. 带; 绶带; (打印机的) 色带; 带状物;v. 把…撕成条带; 用缎带装饰; 形成带状; L ...
- 【Spring Cloud】客户端负载均衡组件——Ribbon(三)
一.负载均衡 负载均衡技术是提高系统可用性.缓解网络压力和处理能力扩容的重要手段之一. 负载均衡可以分为服务器负载均衡和客户端负载均衡,服务器负载均衡由服务器实现,客户端只需正常访问:客户端负载均衡技 ...
- 5.使用Ribbon实现客户端侧负载均衡
Ribbon实现客户端侧负载均衡 5.1. Ribbon简介 Ribbon是Netflix发布的开源项目,主要功能是提供客户端的软件负载均衡算法 ...
随机推荐
- 根据节点解析xml
config.xml文件如下: <?xml version="1.0" encoding="gb2312" ?> <root> < ...
- 虚拟存储管理中几种缺页中断算法(最佳置换法OPT)
缺页中断就是要访问的页不在主存,需要操作系统将其调入主存后再进行访问. 在进行内存访问时,若所访问的页已在主存,则称此次访问成功: 若所访问的页不在主存,则称此次访问失败,并产生缺页中断. 最佳置换法 ...
- 关于ASP .NET Core在跨平台的linux ubuntun,SUSE ,Mac OS的发布的相关平台操作
https://www.microsoft.com/net/learn/get-started/linuxopensuse
- linux命令(17):pwd命令
1:查看当前工作目录的完整路径命令:pwd 2:目录连接链接时,pwd -P 显示出实际路径,而非使用连接(link)路径:pwd显示的是连接路径: [root@host-172-168-80-55 ...
- php上传文件常见错误
今天在文件上传过程中遇到的文件上传不过去,和网页报错,最后经查看总结有以下几个方面 上传文件错误码 error=0 正常上传 error=1 上传的大小超过了input[type=file]的文件上传 ...
- 玩转RaspberryPi
step1:烧制树莓派内存卡 可以用[Linux系统烧制]http://www.williamsang.com/archives/1764.html 如果用windows烧制的话,就用Win32 Di ...
- windows安装elasticsearch和elasticsearch-head插件
1.去官网下载最新软件 选择zip包,https://www.elastic.co/downloads/elasticsearch 2.下载node 必须 > 6.0已上 3.解压elastic ...
- python的str,unicode对象的encode和decode方法(转)
python的str,unicode对象的encode和decode方法(转) python的str,unicode对象的encode和decode方法 python中的str对象其实就是" ...
- Java并发编程实战笔记
如果当多个线程访问同一个可变的状态变量时没有使用合适的同步,那么程序就会出现错误.有三种方式可以修复这个问题: i.不在线程之间共享该状态变量 ii.将状态变量修改为不可变的变量 iii.在访问状态变 ...
- 【应用】wamp3.x.x设置,让外网能够访问本服务器
开始教程前,先来看一看本机的运行环境. WAMP 32位版 3.0.6 WIN7 x86 企业版 其他VC运行库全部安装,NET装了3.5以及4.0,还有一些运行库这里省略 ——我是华丽的分割线——— ...