1.Redis 分布式集群 , 這里不討論主從復(fù)制 ,著重介紹分區(qū)
1.假設(shè)有 20 個節(jié)點(diǎn) ,
數(shù)據(jù)進(jìn)來后 , 會根據(jù)key 進(jìn)行一定的hash ,確定屬于哪個節(jié)點(diǎn)
然后把數(shù)據(jù)放進(jìn)去 , 這樣相當(dāng)于每個機(jī)器只用管自己 hash分區(qū)類型的數(shù)據(jù)就行了
同理: 查詢也是 , 先確定位置 , 然后查詢 ,有點(diǎn)任務(wù)下放的感覺
就好比QQ號 , 把1 -1000萬 每100萬個放一個表里面
這樣就會出現(xiàn)10個表 , 查詢的時(shí)候 先確定在哪個表里面
..大家覺得這樣可能很麻煩 , 可是如果不分區(qū)
一張表的訪問量是5萬 ,那么可能就崩潰了
如果分區(qū) ,一張也就是5000 ,對于數(shù)據(jù)庫的穩(wěn)定性是很重要的 .
還能提高速度,
.PS: 集群的出發(fā)點(diǎn)是減少服務(wù)器單臺壓力 , 同時(shí)也要保證業(yè)務(wù)的完整與一致性 , 那么每臺機(jī)器就會處理不同的業(yè)務(wù) ,或者同一個業(yè)務(wù)的不同 原子工作