速来报名!AICon北京站鸿蒙专场~ 了解详情
写点什么

Dropbox 开源其 Go 语言工具库

  • 2014-07-07
  • 本文字数:708 字

    阅读完需:约 2 分钟

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

2014-07-07 07:262965
用户头像

发布了 219 篇内容, 共 139.4 次阅读, 收获喜欢 191 次。

关注

评论

发布
暂无评论
发现更多内容

【云原生】SpringCloud是什么?

java李杨勇

Java spring-boot 签约计划第三季

Redis 潜在问题

武师叔

8月月更

开源知识库与SaaS解决方案的区别

Geek_da0866

系统入门-Linux系统基础命令

Albert Edison

Linux centos 指令 8月月更

什么是知识管理系统?如何改善客户体验?

Geek_da0866

开源生态研究与实践| ChinaOSC

CCF开源发展委员会

RocketMQ高性能设计之动态缩扩容和消息实时投递

急需上岸的小谢

8月月更

架构实战营毕业总结

Geek_53787a

浅述微服务安全管理机制

阿泽🧸

8月月更 微服务安全

中国开源先锋人物志 | ChinaOSC

CCF开源发展委员会

leetcode 239. Sliding Window Maximum 滑动窗口最大值

okokabcd

LeetCode 数据结构与算法 双端队列

Kubernetes API Schema

CTO技术共享

开源 签约计划第三季 8月月更

基于JavaSpringMVC+vue实现协同过滤电影推荐系统详细设计

java李杨勇

Java spring Vue 3 签约计划第三季 协同过滤

C++继承中的对象模型与继承中构造和析构顺序

CtrlX

c c++ 面向对象 继承 8月月更

超云

Kent Yao

超云 Supercloud

备受资本市场关注的Zebec,正在构建“新DeFi”生态

西柚子

ICMPv6协议详解

穿过生命散发芬芳

8月月更 ICMPv6

转转价格系统DDD实践

转转技术团队

领域驱动设计 DDD

多次拿下移动集团技术发明大奖,TA是怎么做到的?

鲸品堂

AI 资源

【云原生】微服务SpringCloud-eureka(server)集群搭建

java李杨勇

Eureka spring-cloud 签约计划第三季

李斯特:不同流派的产品创新方法及创新误区丨创新工作坊

声网

灵感宝盒 RTE NG-Lab

每日一R「07」类型系统(一)

Samson

8月月更 ​Rust

Flutter 动画组件那么多,记不住不会用怎么办?我都给你整理好了,收藏吧!

岛上码农

flutter 前端 安卓 移动端开发 8月月更

Hi,我是ChunJun,一个有趣好用的开源项目

袋鼠云数栈

备受资本市场关注的Zebec,正在构建“新DeFi”生态

小哈区块

中台订单分库分表测试总结

转转技术团队

测试方案 后端测试

头脑风暴:零钱兑换3

HelloWorld杰少

算法 LeetCode 数据结构, 8月月更

Kubernetes list和watch详解

CTO技术共享

开源 签约计划第三季 8月月更

开源中国专访 TJ:开源许可证,欢迎来到云时代

tapdata

Tapdata 开源社区

“新DeFi”生态的构建,流支付协议Zebec或厚积薄发

BlockChain先知

【云原生】SpringCloud-Spring Boot Starter使用测试

java李杨勇

Java web SpringCloud Alibaba 签约计划第三季

Dropbox开源其Go语言工具库_Python_小盖_InfoQ精选文章