摘要:消息的發(fā)送者不直接將消息發(fā)送給接收者。功能目前還屬于的一個(gè)實(shí)驗(yàn)性質(zhì)的功能,如果要開啟功能,在啟動(dòng)的時(shí)候需要指定參數(shù)。實(shí)際上,功能不僅僅之只限于兩個(gè)直連的節(jié)點(diǎn)之間,還可以通過(guò)中間節(jié)點(diǎn)進(jìn)行中轉(zhuǎn)。目前上有兩個(gè)標(biāo)桿應(yīng)用是基于功能進(jìn)行搭建的。
作者簡(jiǎn)介:董天一 ,IPFS/Filecoin中國(guó)區(qū)技術(shù)布道人 ,《IPFS指南》作者什么是 pubsub?畢業(yè)于北京大學(xué)軟件與微電子學(xué)院,資深區(qū)塊鏈技術(shù)開發(fā)者,現(xiàn)致力于IPFS/Filecoin在中國(guó)的技術(shù)推廣,本文原載微信公眾號(hào):IPFS指南(ipfs_guide)
發(fā)布訂閱模式(Publish–subscribe pattern),最早是由蘋果公司在 Mac OS 引入。
消息的發(fā)送者(publishers)不直接將消息發(fā)送給接收者(subscriber)。而是將消息分門別類,發(fā)送者并不知道也無(wú)需知道接收者的存在。而接收者只需要訂閱一個(gè)或者多個(gè)類別的消息類,只接收感興趣的消息,不知道也無(wú)需知道發(fā)布者的存在。(https://en.wikipedia.org/wiki...)
寫代碼的朋友對(duì)于觀察者模式(Observer)并不陌生。這個(gè)有些類似軟件設(shè)計(jì)模式里面的觀察者模式(Observer)。但是并不完全相同。pubsub比Observer更加的松耦合。這里不再詳細(xì)對(duì)比二者的區(qū)別。有興趣的朋友自行Google一下。
pubsub功能目前還屬于ipfs的一個(gè)實(shí)驗(yàn)性質(zhì)的功能,如果要開啟pubsub功能,在啟動(dòng)ipfs daempon的時(shí)候需要指定參數(shù): --enable-pubsub-experiment。
下面我們使用具體例子來(lái)說(shuō)明ipfs pubsub 如何使用?
1. 搭建兩個(gè)IPFS節(jié)點(diǎn)A和B如果還不知道節(jié)點(diǎn)如何搭建,參見之前的文章[《如何在IPFS網(wǎng)絡(luò)里面上傳一張圖片》]()。
A(小編本地節(jié)點(diǎn)):
IPFS節(jié)點(diǎn)ID: QmTrRNgt6M9syRq8ZqM4o92Fgh6avK8v862n2QZLyDPywYIPFS地址:192.168.162.129(保護(hù)隱私,沒(méi)有使用公網(wǎng)IP)
B(亞馬遜aws):
IPFS地址:13.231.198.1542. 啟動(dòng)節(jié)點(diǎn)BIPFS節(jié)點(diǎn)地址; /ip4/13.231.198.154/tcp/4001/ipfs/QmXL2h6Y51BHZMaypzjCnNc1MiVk2H5EZJxWgAuRkLanaK
ipfs daemon --enable-pubsub-experiment
(注意這里需要使用參數(shù) --enable-pubsub-experiment)
刪除節(jié)點(diǎn)A的全部bootstrap地址
ipfs bootstrap rm all
在A節(jié)點(diǎn)添加B節(jié)點(diǎn)為bootstrap節(jié)點(diǎn)
ipfs bootstrap add /ip4/13.231.198.154/tcp/4001/ipfs/QmXL2h6Y51BHZMaypzjCnNc1MiVk2H5EZJxWgAuRkLanaK
4. 啟動(dòng)節(jié)點(diǎn)Aipfs daemon --enable-pubsub-experiment
(注意這里需要使用參數(shù) --enable-pubsub-experiment)
5. pubsub功能使用在A節(jié)點(diǎn)上新開一個(gè)命令行,執(zhí)行
ipfs pubsub sub flytofuture
這句的意思是我們?cè)诠?jié)點(diǎn)A訂閱了消息主題:flytofuture。凡是發(fā)往這個(gè)消息主題的消息都會(huì)被A節(jié)點(diǎn)接收到。
我們?cè)贐節(jié)點(diǎn)對(duì)消息主題 flytofuture發(fā)送消息
ipfs pubsub pub flytofuture "hello, IPFS指南,飛向未來(lái)!"
這個(gè)時(shí)候我們就可以在A節(jié)點(diǎn)的命令行看到消息輸出:hello, IPFS指南,飛向未來(lái)!
兩個(gè)跨越了不同網(wǎng)絡(luò),不同地域的IPFS節(jié)點(diǎn)進(jìn)行pubsub功能的通信。
實(shí)際上,pubsub功能不僅僅之只限于兩個(gè)直連的節(jié)點(diǎn)之間,還可以通過(guò)中間節(jié)點(diǎn)進(jìn)行中轉(zhuǎn)。
例如:有A,B,C三個(gè)節(jié)點(diǎn),A鏈接到B,B連接到C,A與C并不直接連接。那么A仍然可以訂閱收到來(lái)自于C的消息。這對(duì)于一些復(fù)雜的網(wǎng)絡(luò)環(huán)境里面非常有用,比如在一些NAT不太友好的網(wǎng)絡(luò)環(huán)境。
pubsub相關(guān)的命令使用和功能pubsub相關(guān)的命令使用:
ipfs pubsub ls -- 列出來(lái)本節(jié)點(diǎn)訂閱的全部主題
ipfs pubsub peers -- 列出來(lái)與本節(jié)點(diǎn)相連接的開通pubsub功能的節(jié)點(diǎn)
ipfs pubsub pub?-- 發(fā)布數(shù)據(jù)到相應(yīng)的主題
ipfs pubsub sub?-- 訂閱主題
pubsub功能有很多用途,廣大開發(fā)者可以開腦洞基于這樣的功能構(gòu)建出來(lái)自己的應(yīng)用。
目前IPFS上有兩個(gè)標(biāo)桿應(yīng)用是基于pubsub功能進(jìn)行搭建的。
orbit-db: 分布式數(shù)據(jù)庫(kù)
Orbit: 點(diǎn)對(duì)點(diǎn)的聊天工具
[ 【董天一】如何在IPFS網(wǎng)絡(luò)里面上傳一張圖片]()
圓方圓學(xué)院匯集大批區(qū)塊鏈名師,打造精品的區(qū)塊鏈技術(shù)課程。 在各大平臺(tái)都長(zhǎng)期有優(yōu)質(zhì)免費(fèi)公開課,歡迎報(bào)名收看。
公開課地址:https://ke.qq.com/course/345101? ? ?
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/24446.html
摘要:作者簡(jiǎn)介董天一,中國(guó)區(qū)技術(shù)布道人,指南作者。什么是星際文件系統(tǒng)。相關(guān)文章和視頻推薦董天一什么是二董天一什么是三圓方圓學(xué)院匯集大批區(qū)塊鏈名師,打造精品的區(qū)塊鏈技術(shù)課程。 作者簡(jiǎn)介:董天一 ,IPFS/Filecoin中國(guó)區(qū)技術(shù)布道人 ,《IPFS指南》作者。畢業(yè)于北京大學(xué)軟件與微電子學(xué)院曾擔(dān)任甲骨文亞洲研發(fā)中心(中國(guó))數(shù)據(jù)庫(kù)開發(fā)工程師資深區(qū)塊鏈技術(shù)開發(fā)者,現(xiàn)致力于IPFS/Filecoi...
摘要:作者簡(jiǎn)介董天一中國(guó)區(qū)技術(shù)布道人指南作者。目前網(wǎng)絡(luò)上有一些對(duì)的解讀五花八門,各式各樣,有看好的,也有打擊的,總之一項(xiàng)新技術(shù)誕生之初遇到的問(wèn)題都遇到了。問(wèn)題文件丟失認(rèn)為系統(tǒng)不可靠,會(huì)造成用戶文件的丟失。 作者簡(jiǎn)介:董天一 ,IPFS/Filecoin中國(guó)區(qū)技術(shù)布道人 ,《IPFS指南》作者。畢業(yè)于北京大學(xué)軟件與微電子學(xué)院曾擔(dān)任甲骨文亞洲研發(fā)中心(中國(guó))數(shù)據(jù)庫(kù)開發(fā)工程師。 資深區(qū)塊鏈技術(shù)開發(fā)...
摘要:作者簡(jiǎn)介董天一,中國(guó)區(qū)技術(shù)布道人,指南作者。相關(guān)文章和視頻推薦董天一什么是二圓方圓學(xué)院匯集大批區(qū)塊鏈名師,打造精品的區(qū)塊鏈技術(shù)課程。 作者簡(jiǎn)介:董天一,IPFS/Filecoin中國(guó)區(qū)技術(shù)布道人,《IPFS指南》作者。畢業(yè)于北京大學(xué)軟件與微電子學(xué)院曾擔(dān)任甲骨文亞洲研發(fā)中心(中國(guó))數(shù)據(jù)庫(kù)開發(fā)工程師資深區(qū)塊鏈技術(shù)開發(fā)者,現(xiàn)致力于IPFS/Filecoin在中國(guó)的技術(shù)推廣。 前兩篇介紹了IP...
摘要:之前有好幾人問(wèn)過(guò)小編,想在里面上傳一張圖片。如何做今天小編就講一下如何在里面上傳下載文件。這個(gè)時(shí)候你可以在瀏覽器里面輸入你的哈希值就可以看到你的文件了,比如,這個(gè)小編剛才上傳的文件。 作者簡(jiǎn)介:董天一 ,IPFS/Filecoin中國(guó)區(qū)技術(shù)布道人 ,《IPFS指南》作者。畢業(yè)于北京大學(xué)軟件與微電子學(xué)院曾擔(dān)任甲骨文亞洲研發(fā)中心(中國(guó))數(shù)據(jù)庫(kù)開發(fā)工程師。資深區(qū)塊鏈技術(shù)開發(fā)者,現(xiàn)致力于IPF...
摘要:作者簡(jiǎn)介董天一,中國(guó)區(qū)技術(shù)布道人,指南作者。由于每個(gè)文件的哈希值全網(wǎng)唯一,查詢將很容易進(jìn)行。如果僅僅使用哈希值來(lái)區(qū)分文件的話,會(huì)給傳播造成困難,因?yàn)楣V挡蝗菀子洃?,就像地址一樣不容易記憶,于是人類發(fā)明的域名。 作者簡(jiǎn)介:董天一 ,IPFS/Filecoin中國(guó)區(qū)技術(shù)布道人 ,《IPFS指南》作者。畢業(yè)于北京大學(xué)軟件與微電子學(xué)院曾擔(dān)任甲骨文亞洲研發(fā)中心(中國(guó))數(shù)據(jù)庫(kù)開發(fā)工程師資深區(qū)塊鏈...
閱讀 2962·2023-04-26 01:32
閱讀 1557·2021-09-13 10:37
閱讀 2292·2019-08-30 15:56
閱讀 1686·2019-08-30 14:00
閱讀 3062·2019-08-30 12:44
閱讀 1976·2019-08-26 12:20
閱讀 1072·2019-08-23 16:29
閱讀 3238·2019-08-23 14:44