Ribbon之ILoadBalancer
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,Ribbon 负载均衡的连轴方法,它聚合来IPing,IRule, ServerList, ServerListUpdater, ServerListFilter。ILoadBalancerpubli
千家信息网最后更新 2025年12月02日Ribbon之ILoadBalancer
Ribbon 负载均衡的连轴方法,它聚合来IPing,IRule, ServerList, ServerListUpdater, ServerListFilter。
ILoadBalancer
public interface ILoadBalancer { /** * Initial list of servers. * This API also serves to add additional ones at a later time * The same logical server (host:port) could essentially be added multiple times * (helpful in cases where you want to give more "weightage" perhaps ..) * * @param newServers new servers to add */ public void addServers(List newServers); /** * Choose a server from load balancer. * * @param key An object that the load balancer may use to determine which server to return. null if * the load balancer does not use this parameter. * @return server chosen */ public Server chooseServer(Object key); /** * To be called by the clients of the load balancer to notify that a Server is down * else, the LB will think its still Alive until the next Ping cycle - potentially * (assuming that the LB Impl does a ping) * * @param server Server to mark as down */ public void markServerDown(Server server); /** * @deprecated 2016-01-20 This method is deprecated in favor of the * cleaner {@link #getReachableServers} (equivalent to availableOnly=true) * and {@link #getAllServers} API (equivalent to availableOnly=false). * * Get the current list of servers. * * @param availableOnly if true, only live and available servers should be returned */ @Deprecated public List getServerList(boolean availableOnly); /** * @return Only the servers that are up and reachable. */ public List getReachableServers(); /** * @return All known servers, both reachable and unreachable. */ public List getAllServers();} AbstractLoadBalancer
public abstract class AbstractLoadBalancer implements ILoadBalancer { public enum ServerGroup{ ALL, STATUS_UP, STATUS_NOT_UP } /** * delegate to {@link #chooseServer(Object)} with parameter null. */ public Server chooseServer() { return chooseServer(null); } /** * List of servers that this Loadbalancer knows about * * @param serverGroup Servers grouped by status, e.g., {@link ServerGroup#STATUS_UP} */ public abstract List getServerList(ServerGroup serverGroup); /** * Obtain LoadBalancer related Statistics */ public abstract LoadBalancerStats getLoadBalancerStats(); } BaseLoadBalancer
基本实现了ILoadBalancer所使用的接口。
DynamicServerListLoadBalancer
在BaseLoadBalancer上,增加额外特性。这里主要是实现动态的服务列表特性。
- ZoneAwareLoadBalancer
在DynamicServerListLoadBalancer之上,增加了额外的特性。分zone的形式来配置多个loadBalancer.
特性
均衡
动态
增加额
多个
形式
接口
方法
服务
配置
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
只能使用网络安全模式开机
厦门装舒易网络技术有限公司
抚顺app软件开发哪家好
服务器开启cpu高性能模式
个人笔记本架设服务器
皮肤管理 服务器
惠州2011年戴尔服务器大全
西安市中小学生网络安全作品比赛
崇明区工程软件开发服务电话
首届首都网络安全日是哪年
软件开发服务器部署
姜堰区网络技术诚信服务
网络技术常用几种命令
广州商务外贸软件开发公司
服务器安装Aria2管理
工商银行合肥分行软件开发
java连接阿里云数据库
分布式非结构数据库子系统
易玩服务器介绍
胚胎测序数据库
点真科技互联网公司
上海补贴商务软件开发
荷兰网络安全吗
sata如何接服务器
数据库查看当前补丁版本
金蝶恢复账套数据库
steam战地5是哪个服务器的
双屏服务器远程管理器
金红网络安全自查报告
如何在hive中创建数据库