- 論壇徽章:
- 0
|
![]()
A為master數(shù)據(jù)庫,B1、B2為A的slave,C1、C2為B1的slave(B1自然也為C1、C2的master),D1、D2為B2的slave(B2自然也為D1、D2的master),ZK1-ZK5構(gòu)成去中心化的服務(wù)器狀態(tài)管理集群。
正常情況下A負(fù)責(zé)數(shù)據(jù)的寫請求(增,刪,改),數(shù)據(jù)的讀請求輪詢分發(fā)到B,C,D服務(wù)器上。
當(dāng)A宕機(jī)時就選擇B組中的一臺(比如B1)做為Master來負(fù)責(zé)數(shù)據(jù)的寫請求(增,刪,改),也就是將數(shù)據(jù)庫的寫請求發(fā)到B1,數(shù)據(jù)的讀請求輪詢分發(fā)到C1,C2服務(wù)機(jī)器上。硬件故障以后就要及時維修服務(wù)器,并且要以B1作為Master按照上面的結(jié)構(gòu)來布局。
代碼可參考Nut(lucene + hadoop 分布式搜索運(yùn)行框架)中Zookeeper服務(wù)器狀態(tài)管理的實(shí)現(xiàn)。 |
|