2021-21: go-storage Feature Gates

💡 原文中文,约1300字,阅读约需4分钟。
📝

内容提要

本文讨论了基于go-storage实现FUSE的计划,强调SymLink支持的重要性。虽然部分存储服务原生支持Link,但如S3等许多服务不支持。提出GSP-87提案,允许用户选择虚拟API实现,以扩展功能而不影响用户体验。最后,作者提到下周将与女友旅行。

🎯

关键要点

  • 计划基于 go-storage 实现 FUSE,支持 POSIX 语义但不完全保证兼容性。
  • SymLink 支持在存储抽象层中非常重要,缺乏支持会影响用户开发类似 FUSE 的应用。
  • 部分存储服务如 fs 和 oss 原生支持 Link,但许多服务如 S3 不支持。
  • 可以通过将 Link Target 存储在 Object Metadata 中来实现类似逻辑,但这可能不符合用户预期。
  • 用户可能希望在缺乏原生支持时返回不支持,而不是性能较差的模拟实现。
  • 新提案 GSP-87 允许用户选择虚拟 API 实现,提供更多功能而不影响用户体验。
  • 提案实施后,可以为各个服务实现不原生支持的功能,如 CreateDir 和 CreateLink。
  • 作者计划与女友进行为期七天的云南之旅,途径昆明、西双版纳、大理和丽江。

延伸问答

go-storage 实现 FUSE 的主要目标是什么?

主要目标是支持 POSIX 语义,但不完全保证兼容性,优化连续读写。

SymLink 在存储抽象层中的重要性是什么?

SymLink 支持对于开发类似 FUSE 的应用至关重要,缺乏支持会影响用户体验。

哪些存储服务原生支持 Link?

fs 和 oss 存储服务原生支持 Link,提供相关 API。

GSP-87 提案的主要内容是什么?

GSP-87 提案允许用户选择虚拟 API 实现,扩展功能而不影响用户体验。

在缺乏原生支持的情况下,用户希望如何处理 Link 功能?

用户希望在缺乏原生支持时返回不支持,而不是使用性能较差的模拟实现。

作者的旅行计划是什么?

作者计划与女友进行为期七天的云南之旅,途径昆明、西双版纳、大理和丽江。

➡️

继续阅读