算法和架構是伴生的
之前在研究「邏輯的復雜性管理」時,其實已經產生了很多架構的思想:只有通過一定的結構,才能夠穩定的承載復雜邏輯。過去無論如何努力,都只是盡力而為,但是有了合適的結構,那麼就是一種可控的努力。
最近開始研究數據庫集群時,發現實現復雜的結構也是依賴幾個核心的算法的。例如RAFT選舉算法,塊的自動分割和聚合等。我覺得基於單機數據庫自己搭建集群是一個不錯的想法,不過現階段先考慮利用成熟的產品快速應用。
本次在單機上使用docker創建一個實驗性的集群。
本次的實驗主要基於這篇文章,整體上寫的非常好,但是文章裡使用的環境和我還是略有不同。有兩個地方可能要注意下,一個是使用10.0.0.1的地址,0.1一般是留給網關的,我覺得不使用比較好;另外就是第二個shard集群初始化配置似乎寫錯了,可能是拷貝下來的原因。
以下我就把實踐的內容逐步展開
10和192,以及172.16都屬於常用的私網網段,就是IPv4地址規劃裡默認保留,不作為公網地址使用的特殊IP地址