久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

做Redis集群的時候,可不可以將Master實例和Slave實例放在一個主機當中?

瀏覽:115日期:2024-07-10 09:51:19

問題描述

線上的實際情況是總共有4臺服務(wù)器。現(xiàn)在主要用的是memcache,并且目前只用了61M左右的內(nèi)存空間。公司的需求是逐步把整個網(wǎng)站的緩存遷移到redis。

目前的想法是拿3臺服務(wù)器拿來做集群,每臺服務(wù)器配置一個Master實例。為了實現(xiàn)高可用,還需要給每臺服務(wù)器配置一個Slave實例。我想問的是,可不可以將Master實例和Slave實例配置到一個主機當中,以及這樣配置所帶來的影響?

還有一種想法是,只用2臺服務(wù)器,1臺服務(wù)器運行3個Master實例,另一臺服務(wù)器運行3個Slave實例。大家還有更好的解決方案嗎?

還聽他們說,集群的話至少要有3個主節(jié)點。用2個主節(jié)點不行嗎?

問題解答

回答1:

如果把master和slave放在同一臺機器上,會有問題:

master和slave運行時都需要占用內(nèi)存,機器的內(nèi)存可能不夠用

如果機器宕機,斷電,或者網(wǎng)絡(luò)斷開,那么master和slave沒有什么高可用可言了。

master和slave最好都要放在不同的機器。

至于為什么是3而不是2。這是集群選舉的時候的最佳策略。redis3.0開始支持集群。

一般,集群要對某個公共狀態(tài)達成共識,都需要集群中過半數(shù)的redis實例同意。為什么要過半數(shù)呢,因為要考慮集群發(fā)生腦裂(split-brain)的情況,也就是網(wǎng)絡(luò)隔離(network-partition),過半數(shù)可以保證,無論網(wǎng)絡(luò)怎么隔離,無論腦怎么裂,無論大集群被隔離成了多少個小集群,能夠提供服務(wù)(意味著有過半數(shù)的實例)的那個小集群里,至少有一個實例是同步到最新的狀態(tài)信息的。

在理解上面所說的過半數(shù),然后才有背景來談?wù)?b>為什么是奇數(shù)的問題偶數(shù)也可以有過半數(shù),例如,4個實例的集群,3就是一個過半數(shù)。但為什么還是奇數(shù)最好?如果集群有5個實例,那么只能容忍2個實例的崩潰。如果集群中有6個實例,同樣也只能容忍2個實例的崩潰。在相同的容忍度下,6個和5個有什么區(qū)別:

由于集群間需要互相通信,實例越多,網(wǎng)絡(luò)開銷越大

實例越多,5個實例的時候,發(fā)生3個實例崩潰的概率要小于6個實例的時候。

所以當然是奇數(shù)的性價比最高了。

回答2:

是可以的,設(shè)置不同端口就行了,至于影響,我感覺也沒啥特別影響。

回答3:

有3臺的話,各跑一個master, 然后各自的slave放在不同的機器做成環(huán)形備份,不把雞蛋放在一個籃子里。ip資源夠的話,找個ha中間件把高可用也做上。

回答4:

生產(chǎn)環(huán)境不建議放在同一臺物理機上。集群3臺master說的是3.0集群,奇數(shù)節(jié)點保證投票能夠出確定結(jié)果

回答5:

恩,那還是把Slave放在其他地方。

看看這個設(shè)計怎么樣?做Redis集群的時候,可不可以將Master實例和Slave實例放在一個主機當中?

主站蜘蛛池模板: 皋兰县| 莲花县| 常德市| 曲阜市| 吴忠市| 凤冈县| 永和县| 图片| 米泉市| 中山市| 曲阳县| 高密市| 静海县| 弥渡县| 怀集县| 海门市| 通江县| 屯门区| 普洱| 防城港市| 洞头县| 扶沟县| 开阳县| 丰城市| 西平县| 田东县| 安顺市| 天峨县| 阳山县| 双流县| 新乡县| 胶州市| 确山县| 开化县| 吉林市| 广丰县| 高台县| 泸定县| 肥城市| 青铜峡市| 登封市|