你在这里。看看这个问题与其他知识怎样相连。
选择节点前往页面 · 展开后可留在地图中阅读
一个问题
服务怎样接入 AFS?
Provider 实现资源操作,挂载把它接入命名空间。
- 挂载路径路由到→
- Provider适配操作→
- 资源实现
本地目录与远程服务的实现不同,AFS 不会抹去这种差异。Provider 把支持的操作转换成资源实际需要完成的工作,挂载则规定它从命名空间的哪里可以被访问。
这里分开了两个问题:任务从哪里找到资源,以及资源内部怎样工作。地址和操作约定保持兼容时,更换实现就不必同时改写所有使用者。
兼容性仍需要具体实现。有的 Provider 只读,有的不能主动通知使用者内容发生了变化,有的提供可执行动作。使用者必须遵守实际开放的能力。
把报告目录接进来
假设应用把一个报告服务挂载在示例位置 /reports。任务想读取 /reports/weekly 时,AFS 根据挂载位置找到负责这片资源的 Provider;Provider 再把“读取 weekly”转换成报告服务实际支持的请求。
挂载决定入口,Provider 实现访问。 将来报告服务更换了存储方式,只要入口、返回内容和操作效果仍兼容,使用者就不必知道它内部改成了什么。若新版服务只返回摘要而不再返回全文,即使地址没变,也不能称为保持了同一个读取约定。
检查一下理解
挂载路径和 Provider 分别回答什么问题?
挂载路径回答从哪里访问这组资源;Provider 回答怎样把支持的操作落实到具体资源。
沿着学习路径继续
- 从 AFS 开始第 3 / 5 步
- 认识不同的 provider第 1 / 5 步