乙個節點就是乙個服務(例項),可以實現儲存資料,索引並且搜尋的功能。
每個節點都有乙個唯一的名稱作為身份標識;如果沒有設定名稱,預設使用 uuid 作為名稱。推薦定義有意義的名稱,便於更好的在集群中區分與管理。
節點通過設定集群名稱,在同一網路中發現具有相同集群名稱的節點,組成集群。如果在同一網路中只有乙個節點,則這個節點成為乙個單節點集群,即此節點集群中每個節點都是功能齊全的服務。
1. 集群節點要考慮的問題:
2. 資料節點(如:redis、elasticsearch、資料庫)要考慮的問題:
乙個或多個節點集合組成乙個集群,集群上的節點可以儲存資料,並提供跨節點的索引和搜尋功能。
集群通過乙個唯一的名稱作為標識,如果節點所在的網路能夠發現集群,那麼節點通過設定集群名稱自動加入相應的集群。所以同乙個網路,不同環境、服務的集群的名稱不能重複。
為了保證高可用性,伺服器需要做冗餘。多個伺服器組合在一起稱為集群,一般指應用伺服器;儲存型的伺服器集群指得是:資料乙個伺服器放不下,分別放到不同機器中,這些機器稱為集群。
針對儲存型伺服器,比如mysql、redis,專門存放資料。雖然集群後,儲存型的伺服器有很多個,但是每個上面的內容不一樣,如果壞了,資料就會丟失。為了保證這些資料的高可用,每個儲存型的伺服器主機需要做備份,這些備份稱為從機。
有了主從後,可以實現讀寫分離(主分片寫,副本讀)等擴充套件功能。但讀寫分離並不是主從的目的,主從只是為了實現資料的高可用性。
redis集群主從節點自動切換
最近在將redis作為資料庫使用 redis中存放大量資料 的專案中,偶然發現redis的主從節點發生了變化,但是沒有任務報錯,redis集群的各節點也沒有fail狀態,因此記錄學習一下,redis的深層機制。首先redis是單執行緒的,所有的命令傳送的redis會進入乙個佇列,依次執行。當資料量很...
字符集與編碼 概念區分
在這裡主要記錄一下字符集與編碼這兩個概念,因為在日常程式設計當中很容易把這兩個概念弄混掉。對這兩個概念做澄清也有利於在程式設計當中對亂碼問題的解決。首先來說一下什麼字符集。其實字符集是乙個抽象的概念,例如我們可以把所有的英文本母稱為乙個字符集,同樣的,所有的中文字元也可以稱為乙個字符集,或者將人類所...
同步和非同步的概念與區分
同步是指 當程式1呼叫程式2時,程式1停下不動,直到程式2完成回到程式1來,程式1才繼續執行下去。非同步是指 當程式1呼叫程式2時,程式1徑自繼續自己的下乙個動作,不受程式2的的影響。舉個不太恰當的例子,就像 sendmessage trace0 just like send sendmessage...