跳到主要内容
知识地图反向挂载的“反向”指什么?ArcBlock 体系

你在这里。看看这个问题与其他知识怎样相连。

选择节点前往页面 · 展开后可留在地图中阅读

知识地图沿着连接,读懂一个问题
← AFS

一个问题

反向挂载的“反向”指什么?

改变的是接入的发起或注册方向,不是把授权方向也倒过来。

  1. 温度计 Provider主动连接与注册
  2. 宿主 /lab/sensor提供资源入口
  3. 已授权调用者
关系示意 · 箭头说明职责与连接,不代表完整协议时序。

Provider 可以主动来接入

通常我们想象宿主连接一个已知服务,再把它挂入命名空间。反向挂载允许 provider 一侧连接或注册回来,由宿主把它暴露的能力接到经过授权的位置。具体运输机制可能不同,不能把这个词等同于某个唯一 URL。

Arc 源码中可以分别看到 provider boot/register 的协议类型,以及基于 session 连接的挂载处理。前者描述宿主发出启动信号后注册、或 provider 主动注册;后者有实际连接、namespace 和断开处理的实现与测试。这些相关机制不应被描述为完全相同的部署入口。

三条边界仍然存在

  1. 谁证明接入者身份,或持有特定会话的挂载凭据?
  2. 宿主允许它占用哪个命名空间,是否会覆盖已有资源?
  3. 其他调用者得到什么可见范围和执行权限?

能主动连接,不等于任意挂载、不等于网络穿透的普遍保证,也不等于获得宿主的全部权限。

源码证明这些机制值得研究;具体预览部署是否可用,仍需单独运行验证。

实验室温度计接入一个宿主

设想实验室电脑运行一个温度计 provider,宿主负责向已授权的使用者提供 AFS。以下是说明角色和方向的例子,不是已经部署的演示:

  1. 温度计 provider 从实验室电脑发起连接,向宿主提出接入请求。
  2. 宿主检查接入凭据,并只允许它注册到 /lab/sensor。
  3. 宿主把 provider 的资源绑定到该挂载位置。
  4. 被授权的调用者读取 /lab/sensor/temperature,请求经宿主转到温度计 provider。

“连接成功”只说明双方建立了通信通道;“挂载成功”还说明宿主接受了资源与路径的绑定。尝试占用未授权路径应被拒绝。连接断开时,读取失败也必须让调用者看得见,不能悄悄返回旧数据并假装是当前读数。