BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Dropbox开源其Go语言工具库

| 作者 郭蕾 关注 8 他的粉丝 发布于 2014年7月8日. 估计阅读时间: 2 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

近日,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可以为每个功能提供单独的工具包。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

支持 by sy manysy

支持,开源才来发展,才来代码更多的开发人员的分享和创新

支持开源 by 高 建军

支持开源的

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

2 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT