# 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之前，它总是显得太痛苦了。”

- [目录](directory.md)
- 上一节：[Atlassian：一个虚拟机群管理系统](21.3.md)
- 下一节：[Go 语言的其他应用](21.5.md)
