How to take down a node...
这个问题已经出现好多次了,自从发布9.0版本开始
我想我应该在这里发表下文章。 这个问题是关于新方法调用
之前的set_state(流量或者没有流量)
和set_availability(新的会话,或者没有新的会话)
以下是实现这些功能的开发人员的直接结果:
在v9.0, LocalLB::NodeAddress and LocalLB::PoolMember 下面的规则适用:
set_session_enabled_state 设置 state 决定是否允许新的会话被建立 。
如果是disabled,这个允许当前的连接保持连接,但是阻止节点接收新的连接
node.set_session_enabled_state(node_addresses=[ipaddress],states=['STATE_DISABLED'])
set_monitor_state 设置可用性状态。
如果disabled,这个立即执行一个forced-down to all node。
这个基本上阻止了流量(包含长连接)
get_session_enabled_state
返回状态(enabled/disabled) ,我们设置set_session_enabled_state