skynet給叢集中的一個節點配置多個通道
阿新 • • 發佈:2019-01-23
在skynet框架中使用cluster模式,經常有訊息在節點之間傳遞。大部分情況,我們在節點A和節點B之間只需要建立一個連線通道,但是在有些時候我們希望讓一些比較獨立的業務能佔用一條單獨的通道進行處理,不希望跟到正常的業務邏輯去搶通道資源。這個時候,我們就需要為某個節點配置多個通道了。
比如,我們要在節點A中再開闢一條連線連通節點B的通道,由於一條通道就是一條tcp連線,所以我們需要為節點B再配置一個埠。我們開啟叢集的cluster配置檔案,新增一個節點B的記錄,新分配一個埠:
nodea = "127.0.0.1:50653" nodeb = "127.0.0.1:50654" nodeb2= "127.0.0.1:50655"
然後重新啟動節點,在節點B的啟動指令碼中,我們也需要在叢集中開啟nodeb2:
cluster.open("nodeb2")
然後,在節點A中,我們就可以進行跨節點訪問了,這個時候,我們可以分別用nodeb和nodeb2進行訪問,框架將使用2條tcp通道進行分別處理。你也可以使用netsta命令,檢視nodeb和nodeb2的連線情況。
cluster.call("nodeb",".main","xxxxxx")
cluster.call("nodeb2",".main","xxxxxx")