IPFS: pubsub功能的使用

發(fā)布時間:2024-03-22
什么是 pubsub?
發(fā)布訂閱模式(publish–subscribe pattern),最早是由蘋果公司在 mac os 引入。
消息的發(fā)送者(publishers)不直接將消息發(fā)送給接收者(subscriber)。而是將消息分門別類,發(fā)送者并不知道也無需知道接收者的存在。而接收者只需要訂閱一個或者多個類別的消息類,只接收感興趣的消息,不知道也無需知道發(fā)布者的存在。(https://en.wikipedia.org/wiki/publish%e2%80%93subscribe_pattern)
寫代碼的朋友對于觀察者模式(observer)并不陌生。這個有些類似軟件設計模式里面的觀察者模式(observer)。但是并不完全相同。pubsub比observer更加的松耦合。這里不再詳細對比二者的區(qū)別。有興趣的朋友自行g(shù)oogle一下。
pubsub功能目前還屬于ipfs的一個實驗性質(zhì)的功能,如果要開啟pubsub功能,在啟動ipfs daempon的時候需要指定參數(shù): –enable-pubsub-experiment。
下面我們使用具體例子來說明ipfs pubsub 如何使用?
1 搭建兩個ipfs節(jié)點a和b,
如果還不知道節(jié)點如何搭建,參見之前的文章(如何在ipfs網(wǎng)絡里面上傳一張圖片)
a(小編本地節(jié)點):
ipfs節(jié)點id: qmtrrngt6m9syrq8zqm4o92fgh6avk8v862n2qzlydpywy
ipfs地址:192.168.162.129(保護隱私,沒有使用公網(wǎng)ip)
b(亞馬遜aws):
ipfs地址:13.231.198.154
ipfs節(jié)點地址; /ip4/13.231.198.154/tcp/4001/ipfs/qmxl2h6y51bhzmaypzjcnnc1mivk2h5ezjxwgaurklanak
2 啟動節(jié)點b
ipfs daemon –enable-pubsub-experiment
(注意這里需要使用參數(shù) –enable-pubsub-experiment)
3 為了快速演示,將節(jié)點a和b直連
3.1 刪除節(jié)點a的全部bootstrap地址
ipfs bootstrap rm all
3.2 在a節(jié)點添加b節(jié)點為bootstrap節(jié)點
ipfs bootstrap add /ip4/13.231.198.154/tcp/4001/ipfs/qmxl2h6y51bhzmaypzjcnnc1mivk2h5ezjxwgaurklanak
4 啟動節(jié)點a
ipfs daemon –enable-pubsub-experiment
(注意這里需要使用參數(shù) –enable-pubsub-experiment)
5 pubsub功能使用
5.1 在a節(jié)點上新開一個命令行,執(zhí)行
ipfs pubsub sub flytofuture
這句的意思是我們在節(jié)點a訂閱了消息主題:flytofuture。凡是發(fā)往這個消息主題的消息都會被a節(jié)點接收到。
5.2 我們在b節(jié)點對消息主題 flytofuture發(fā)送消息
ipfs pubsub pub flytofuture “hello, ipfs指南,飛向未來!”
這個時候我們就可以在a節(jié)點的命令行看到消息輸出:hello, ipfs指南,飛向未來!
兩個跨越了不同網(wǎng)絡,不同地域的ipfs節(jié)點進行pubsub功能的通信。
實際上,pubsub功能不僅僅之只限于兩個直連的節(jié)點之間,還可以通過中間節(jié)點進行中轉(zhuǎn)。
例如:有a,b,c三個節(jié)點
a鏈接到b
b連接到c
a與c并不直接連接。
那么a仍然可以訂閱收到來自于c的消息。這對于一些復雜的網(wǎng)絡環(huán)境里面非常有用,比如在一些nat不太友好的網(wǎng)絡環(huán)境。
pubsub相關(guān)的命令使用:
ipfs pubsub ls — 列出來本節(jié)點訂閱的全部主題ipfs pubsub peers — 列出來與本節(jié)點相連接的開通pubsub功能的節(jié)點ipfs pubsub pub <topic> <data> — 發(fā)布數(shù)據(jù)到相應的主題ipfs pubsub sub <topic> — 訂閱主題pubsub功能有很多用途,廣大開發(fā)者可以開腦洞基于這樣的功能構(gòu)建出來自己的應用。
目前ipfs上有兩個標桿應用是基于pubsub功能進行搭建的。
來源:知乎專欄:ipfs指南(作者:飛向未來)
上一個:綠盾加密軟件官網(wǎng),有沒有能把文件加密的軟件有沒有加密電子日記本電腦上的
下一個:審計日志系統(tǒng)的基本功能有哪些?

二手優(yōu)品上手機怎么樣,請問轉(zhuǎn)轉(zhuǎn)優(yōu)品的二手iPhone怎么樣
這五類人,多喝點普洱茶!
枇杷容器育苗|育苗容器
花卉分為哪幾類
cf鍵盤怎么操作(電腦版cf按鍵)
華為筆記本哪款是獨顯
PSC20/PSC30船用消防炮 船舶手動消防水炮 CCS船檢
執(zhí)照不清晰-備案平臺
三國群英傳3文官多還是武將多(三國群英傳3文欽)
惠普一體機開不了機怎么辦呢,惠普一體機開不了機
十八禁 网站在线观看免费视频_2020av天堂网_一 级 黄 色 片免费网站_绝顶高潮合集Videos