21.4 Camilistore:一个可寻址内容存储系统

http://camlistore.org/

在 Camlistore 中,从数据存储到用户界面,“全栈”编程都在 Go 中进行。该系统由 Brad Fitzpatrick 开发,是一个在云上存储个人数据并与朋友和公众分享这些数据的系统。它由一个内容可寻址的数据存储、一个同步器和访问控制机制、一个 API、一个用户界面以及一个个人“web 主目录”组成。

它是一个语言无关的 (language-agnostic) 项目,但其最主要的部分是用 Go 编写的。它们包括一个 blob 数据服务器、一个 http 服务器、一个 http 用户界面以及一些命令行工具。

它可以用于:

  • 自动同步远程服务器的个人备份。
  • 在机器间进行 Dropbox 式的文件同步。
  • 照片管理和共享。
  • 网站内容管理。

以下是 Brad 对这个 Go 项目的一些评论:

“我在非常少的时间内,不需要太多的代码就能迸发出 (bust out) 很多快速、正确、可维护的可测试代码,我已经很久没有对一种语言如此兴奋了。我很早就有了 Camlistore 的想法,但在我学习Go之前,它总是显得太痛苦了。”