客户端实现负载均衡: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发布的开源项目,主要功能是提供客户端的软件负载均衡算法 ...
随机推荐
- REST,Web 服务,REST-ful 服务
介绍 REpresentational State Transfer (REST) 是一种架构原则,其中将 web 服务视为资源,可以由其 URL 唯一标识.RESTful Web 服务的关键特点是明 ...
- CF633F The Chocolate Spree
Description Alice and Bob have a tree (undirected acyclic connected graph). There are \(a_{i}\) choc ...
- socket实现udp与tcp通信-java
1.简单介绍Socket Socket套接字 网络上具有唯一标识的IP地址和端口号组合在一起才能构成唯一能识别的标识符套接字. 通信的两端都有Socket. 网络通信其实就是Socket间的通信. 数 ...
- Commons CLI 学习(1)
The Apache Commons CLI library provides an API for parsing command line options passed to programs. ...
- OpenCL学习笔记(一):摩尔定律,异构计算与OpenCL初印象
欢迎转载,转载请注明:本文出自Bin的专栏blog.csdn.net/xbinworld. 技术交流QQ群:433250724,欢迎对算法.技术.应用感兴趣的同学加入. 关于摩尔定律: 摩尔定律19 ...
- Multiply Strings——面试题
Given two numbers represented as strings, return multiplication of the numbers as a string. Note: Th ...
- webpy 模版语言
webpy框架拥有自己的模版语言Templetor Templetor具有Python的语言风格 可以直接嵌入Python代码 $code: videoIn = post.filename and p ...
- AC日记——Dynamic Ranking 洛谷 P2617
Dynamic Ranking 思路: 可持久化树状数组: 代码: #include <bits/stdc++.h> using namespace std; #define maxn 1 ...
- 02 java 基础:java 文件名与类名关系 CLASSPATH
java 类修饰符:通常情况下使用 public 修饰,此时,java 强制要求 .java 文件名需与该 public 修饰类名一致,否则无法编译通过.如若没有加修饰符,文件名与类名可无任何关联. ...
- Openstack 云主机深入了解 (十六)
一)云主机深入了解 1.云主机在计算节点以进程方式运行 2.监听vnc的端口,vnc默认端口从5900开始, 多台云主机,端口递增 3.云主机桥接网卡,与宿主机联通网络 提示:在openstack环境 ...