使用ZooKeeper打造軟體式負載平衡

黃哲諄

系統設計師

曾任職於凌群電腦公司,擔任系統設計師的職位,並參與過政府、證券、期貨等大型專案,擅長J2EE、Hadoop、SIEM、Linux與System Integration。

ZooKeeper在Hadoop生態系中扮演重要的coordinate的角色, HDFS使用ZooKeeper解決Name node high availablie的問題;HBase使用ZooKeeper存放metadata:Kafka使用ZooKeeper偵測錯誤發生。ZooKeeper的高效與高可靠度已經廣泛地使用在雲端環境中,例如Facebook Messages、Yahoo Fetching Service。

在這個議程中,我會先簡述ZooKeeper是怎麼在分散式環境中達成Atomic與Order guarantee,並在議程後面展現如何使用ZooKeeper的Persistent Znodes與Ephemeral Znodes,於tomcat上打造一個軟體式負載平衡機制。相較於硬體式的負載平衡器,使用軟體式的負載平衡具備客製化能力、具備動態擴展性、並且能從應用層以上去規劃負載平衡策略。

1. 本場次為中文