Dropbox开源其Go语言工具库

近日,Dropbox开源了其基于Go语言的工具库godropbox,并表示在一年前已经决定将Dropbox中对性能要求比较高的后端程序从Python迁移到Go语言。Dropbox的几乎所有的代码都是用Python编写的, Python语言被广泛使用在服务器端、桌面的客户端、网站控制逻辑以及后端的 API 和分析上。Dropbox亲睐Python简单易学、开发效率高等特点,但是现在为了支撑日益增长的用户数量,Dropbox不得不将部分对性能要求比较高的业务替换为有更好的并发支持和更快的运行速度的Go语言。

但是Go语言的发展尚不成熟,比如在Dropbox使用过程中就发现Go语言缺少构建大型系统所需要的健壮的程序库。Dropbox开发团队为了解决此问题,封装了很多实用的Go语言工具库,并将其开源以帮助社区开发基于Go语言的大型系统。Dropbox承诺他们内部使用的也是开源的godropbox,他们会持续维护更新godropbox。godropbox中包含了很多工具库,下面是部分热门库:

  • caching 一个构建缓存层的工具包
  • container 包含了众多的容器/缓存数据结构
  • container/lrucache 标准的LRU缓存
  • container/set 集合的实现
  • database 数据库操作工具类
  • database/sqlbuilder 编程式拼装SQL工具包
  • errors 强化了标准错误接口并且提供栈跟踪的信息
  • gocheck2 单元测试框架
  • hash2 哈希函数工具类
  • memcache memcache客户端
  • net2 标准的net包的扩展
  • time2 标准的time包的扩展

另外,需要说明的是Dropbox并不是把所有业务都迁移到Go,而只是把对性能要求比较高的基础部分迁移。Dropbox会继续把Python当作主要的开发语言。

读者可以到GoDoc上详细了解godropbox。目前godropbox的很多工具包都不能单独使用,希望接下来Dropbox可以为每个功能提供单独的工具包。

你可能感兴趣的:(Dropbox开源其Go语言工具库)