gossip是一種協定,其行為模式的確就如命名一樣八卦,持續不斷的問東問西。同一個cluster中的node彼此之間會使用這個協定去持續交換訊息,確認其他的node狀態為可用或者離線,而每個node之間的gossip是屬於非同步的進行。
每個node每秒會隨機挑選相同cluster內的一至三個node建立gossip session。而一開始我們在安裝的時候,在/etc/scylla/scylla.yaml設定檔中所設定的seeds會有較大的機率被選為gossip的對象。
在每一次gossip會有三次的訊息傳遞,首先A node先傳第一次訊息給B node,B node收到訊息再傳遞一個確認訊息給A node,最後A node收到之後,再回傳給B node確認收到的訊息。當B node發生故障,我們可以在A node的機器中/var/log/message
裡頭看見相關的訊息,可以看見A仍然會持續每秒去做確認。