客户端实现负载均衡: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发布的开源项目,主要功能是提供客户端的软件负载均衡算法 ...
随机推荐
- Redis Cluster 集群使用(3)
简介 Redis3.0版本之前,可以通过Redis Sentinel(哨兵)来实现高可用(HA),从3.0版本之后,官方推出了Redis Cluster,它的主要用途是实现数据分片(Data Shar ...
- 高性能网络服务器--I/O复用 select poll epoll_wait之间的区别
一.select select采用的是集合的方式,最多只能访问1024个套接字.可读,可写,异常,三种访问,并且采用的是轮训的方式进行每次访问都需要从内核向用户空间拷贝 二.poll poll采用的是 ...
- java 内部类和静态内部类的区别
private class InnerClass { // 只有在静态内部类中才能够声明或定义静态成员 // private static String tt = &quo ...
- Search a 2D Matrix——两度二分查找
Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the follo ...
- Search in Rotated Sorted Array I&&II——二分法
Search in Rotated Sorted Array I Suppose a sorted array is rotated at some pivot unknown to you befo ...
- 【转载】python 特殊函数 dunder function
python的特殊方法:另外一种称谓是 dunder function, 就是 under-under function的简写,就是指那些前后都带双下划线的函数. 转自这里: https://blog ...
- bzoj1030 AC自动机+dp
思路:建状态图,在状态图上dp. #include<bits/stdc++.h> #define LL long long #define ll long long #define fi ...
- magento批量上传产品
Step1:表格仔细检查无误后,将准备好的图片上传至 media/import中.如果使用专用的图片服务器,把图片上传到服务器上,当然表格中的图片地址要做相应的修改. Step2:然后,登陆Magen ...
- 初步探究ES6之箭头函数
今天要介绍的是ES6中的箭头函数. 语法 我们先来看看箭头函数的语法: ([param] [, param]) => { statements } param => expression ...
- Bootstrap Table相关参数及属性、方法
http://bootstrap-table.wenzhixin.net.cn/zh-cn/documentation/#%E4%BA%8B%E4%BB%B6