|  
  AD的交付场景,需求千变万化,AD交付多了,都可以起到开发智力的效果
 
 所以,你永远不能低估每一条虚拟服务 
 
 
 有这样一次交付,应用负载。 
 客户有主备两个中心,买了一台AD,放在主中心,备中心的还没买 
 然后有一条虚拟服务AD来发布,主备中心各有3个 节点,一共6个节点。 
 客户要求是这样的,优先调用主中心的3个节点,如果主中心的3个节点挂掉其中2个,整体切到备中心节点 
 嗯嗯,合理合理 
 
 
 
 说起来很简单,但是真正实施的时候,就略显复杂,就算打400 远程支持,也会被告诉这个需求没法满足 
 但是真的是无法实现?  
 
 我们来分析一下 
 主备中心 两套节点,优先主中心,主中心有问题,调度备中心,这个很好实现,一个前置调度策略就实现了 创建两个节点 默认用备节点 前置调度 调用主中心节点 
 
 难点不是这个主备节点池,难点是 如何做到3个节点中 挂掉任意两个就进行节点池切换 
 切换原理大家应该都明白:前置调度策略里调用的节点池失效了,就进行默认节点池的调度 
 换句话说,挂掉两个节后,整个节点池要处于一个失效状态。 
 
 这里有个解题的关键,健康检查里有一种类型,叫做复合监视器 这个功能很强,堪称探测万花筒 不知道这个的,这个需求就很难实现了 
 
 首先 针对节点池里的探测,创建3条单独的健康检查 
 如上进行每个节点的逐一配置 
 然后再创建一个类型为复合监视器的健康检查,加入刚创建的3条健康检查策略 
 最后通过条件那里 选择自定义 编写表达式 
 
 我编写的这个意思就是 至少有两个节点探测没问题,节点池生效 
 最后再把这个符合监视器,放到节点池里 
 
 需求实现,get!? |