[ https://issues.apache.org/jira/browse/ZOOKEEPER-3140?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ASF GitHub Bot updated ZOOKEEPER-3140: -------------------------------------- Labels: pull-request-available (was: ) > Allow Followers to host Observers > --------------------------------- > > Key: ZOOKEEPER-3140 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3140 > Project: ZooKeeper > Issue Type: New Feature > Components: server > Affects Versions: 3.6.0 > Reporter: Brian Nixon > Priority: Minor > Labels: pull-request-available > > Observers function simple as non-voting members of the ensemble, sharing the > Learner interface with Followers and holding only a slightly difference > internal pipeline. Both maintain connections along the quorum port with the > Leader by which they learn of all new proposals on the ensemble. > > There are benefits to allowing Observers to connect to the Followers to plug > into the commit stream in addition to connecting to the Leader. It shifts the > burden of supporting Observers off the Leader and allow it to focus on > coordinating the commit of writes. This means better performance when the > Leader is under high load, particularly high network load such as can happen > after a leader election when many Learners need to sync. It also reduces the > total network connections maintained on the Leader when there are a high > number of observers. One the other end, Observer availability is improved > since it will take shorter time for a high number of Observers to finish > syncing and start serving client traffic. > > The current implementation only supports scaling the number of Observers > into the hundreds before performance begins to degrade. By opening up > Followers to also host Observers, over a thousand observers can be hosted on > a typical ensemble without major negative impact under both normal operation > and during post-leader election sync. -- This message was sent by Atlassian JIRA (v7.6.3#76005)