跳到主要内容
知识地图服务怎样接入 AFS?ArcBlock 体系

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

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

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

一个问题

服务怎样接入 AFS?

Provider 实现资源操作,挂载把它接入命名空间。

  1. 挂载路径路由到
  2. Provider适配操作
  3. 资源实现
关系示意 · 箭头说明职责与连接,不代表完整协议时序。

本地目录与远程服务的实现不同,AFS 不会抹去这种差异。Provider 把支持的操作转换成资源实际需要完成的工作,挂载则规定它从命名空间的哪里可以被访问。

这里分开了两个问题:任务从哪里找到资源,以及资源内部怎样工作。地址和操作约定保持兼容时,更换实现就不必同时改写所有使用者。

兼容性仍需要具体实现。有的 Provider 只读,有的不能主动通知使用者内容发生了变化,有的提供可执行动作。使用者必须遵守实际开放的能力。

把报告目录接进来

假设应用把一个报告服务挂载在示例位置 /reports。任务想读取 /reports/weekly 时,AFS 根据挂载位置找到负责这片资源的 Provider;Provider 再把“读取 weekly”转换成报告服务实际支持的请求。

挂载决定入口,Provider 实现访问。 将来报告服务更换了存储方式,只要入口、返回内容和操作效果仍兼容,使用者就不必知道它内部改成了什么。若新版服务只返回摘要而不再返回全文,即使地址没变,也不能称为保持了同一个读取约定。