千家信息网

IPFS pubsub功能的使用是怎样的

发表于:2025-02-04 作者:千家信息网编辑
千家信息网最后更新 2025年02月04日,今天就跟大家聊聊有关IPFS pubsub功能的使用是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。什么是 pubsub?发布订阅模式(
千家信息网最后更新 2025年02月04日IPFS pubsub功能的使用是怎样的

今天就跟大家聊聊有关IPFS pubsub功能的使用是怎样的,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

什么是 pubsub?

发布订阅模式(Publish-subscribe pattern),最早是由苹果公司在 Mac OS 引入。

消息的发送者(publishers)不直接将消息发送给接收者(subscriber)。而是将消息分门别类,发送者并不知道也无需知道接收者的存在。而接收者只需要订阅一个或者多个类别的消息类,只接收感兴趣的消息,不知道也无需知道发布者的存在。(https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern)

写代码的朋友对于观察者模式(Observer)并不陌生。这个有些类似软件设计模式里面的观察者模式(Observer)。但是并不完全相同。pubsub比Observer更加的松耦合。这里不再详细对比二者的区别。有兴趣的朋友自行Google一下。

pubsub功能目前还属于ipfs的一个实验性质的功能,如果要开启pubsub功能,在启动ipfs daempon的时候需要指定参数: --enable-pubsub-experiment。

下面我们使用具体例子来说明ipfs pubsub 如何使用?

1. 搭建两个IPFS节点A和B

如果还不知道节点如何搭建,参见之前的文章《如何在IPFS网络里面上传一张图片》。

A(小编本地节点):

IPFS节点ID: QmTrRNgt6M9syRq8ZqM4o92Fgh7avK8v862n2QZLyDPywY

IPFS地址:192.168.162.129(保护隐私,没有使用公网IP)

B(亚马逊aws):

IPFS地址:13.231.198.154

IPFS节点地址; /ip4/13.231.198.154/tcp/4001/ipfs/QmXL2h7Y51BHZMaypzjCnNc1MiVk2H5EZJxWgAuRkLanaK

2. 启动节点B

ipfs daemon --enable-pubsub-experiment (注意这里需要使用参数 --enable-pubsub-experiment)

3. 为了快速演示,将节点A和B直连

删除节点A的全部bootstrap地址

ipfs bootstrap rm all

在A节点添加B节点为bootstrap节点

ipfs bootstrap add /ip4/13.231.198.154/tcp/4001/ipfs/QmXL2h7Y51BHZMaypzjCnNc1MiVk2H5EZJxWgAuRkLanaK

4. 启动节点A

ipfs daemon --enable-pubsub-experiment

(注意这里需要使用参数 --enable-pubsub-experiment)

5. pubsub功能使用

在A节点上新开一个命令行,执行

ipfs pubsub sub flytofuture

这句的意思是我们在节点A订阅了消息主题:flytofuture。凡是发往这个消息主题的消息都会被A节点接收到。

我们在B节点对消息主题 flytofuture发送消息

ipfs pubsub pub flytofuture "hello, IPFS指南,飞向未来!"

这个时候我们就可以在A节点的命令行看到消息输出:hello, IPFS指南,飞向未来!

两个跨越了不同网络,不同地域的IPFS节点进行pubsub功能的通信。

实际上,pubsub功能不仅仅之只限于两个直连的节点之间,还可以通过中间节点进行中转。

例如:有A,B,C三个节点,A链接到B,B连接到C,A与C并不直接连接。那么A仍然可以订阅收到来自于C的消息。这对于一些复杂的网络环境里面非常有用,比如在一些NAT不太友好的网络环境。

pubsub相关的命令使用和功能

pubsub相关的命令使用:

  • ipfs pubsub ls -- 列出来本节点订阅的全部主题

  • ipfs pubsub peers -- 列出来与本节点相连接的开通pubsub功能的节点

  • ipfs pubsub pub -- 发布数据到相应的主题

  • ipfs pubsub sub -- 订阅主题

  • pubsub功能有很多用途,广大开发者可以开脑洞基于这样的功能构建出来自己的应用。

目前IPFS上有两个标杆应用是基于pubsub功能进行搭建的。

  • orbit-db: 分布式数据库

  • Orbit: 点对点的聊天工具

看完上述内容,你们对IPFS pubsub功能的使用是怎样的有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

节点 功能 消息 主题 订阅 两个 命令 地址 模式 网络 内容 参数 接收者 不同 兴趣 发送者 指南 数据 时候 朋友 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 redis连接服务器 宽带显示服务器无响应是什么回事 浙江中小家庭教育与网络安全 广东品质软件开发服务推广 数据库技术与应用csdn 山东云服务器有哪些云空间 学java软件开发哪好 高技术产业数据库怎么看 软件开发需要用到什么教材资料 村级网络安全宣传图片 服务器售后需要哪些技能 数据库报表权限怎么配置 织梦数据库 地址 加强网络安全执法有什么意义 魔兽女主播 祈福服务器 杭州青鸾网络技术有限公司电话 大数据库基础与应用期末试卷 pb 不复制相同的数据库 软件开发用哪些软件 软件开发部门对学校有哪方面 网络安全知识竞赛组织机构 运维与软件开发 广州江磊科技互联网有限公司 超星网络技术基础答案 深圳专业软件开发回收价 sql2008数据库镜像 去哪里学习网络安全技术 流媒体服务器供货商 数据库备份软件 开源 校园内网络安全知识
0