Dropbox的成功大部分归功于Python,这个语言可以使我们快速迭代开发。然而,为了支持日益增长的用户量,我们的基础设施日渐成熟,这时 我们开始寻找一种更为高效的方式来改变系统规模。大约在一年前,我们作出决定,把对于性能要求很苛刻的后台部分从Python迁移到了Go语言,以提供更 好的并发支持和更快的运行速度。一个规模很小的工程师团队做出了大量的努力,这背后大约是200,000(二十万)行Go语言代码。此时,我们成功地把架 构的大部分迁移到了Go语言。

缺少构建大型系统的健壮的程序库,已经成为了反复出现阻碍我们开发进度的问题。这并不奇怪,因为Go语言还是一门十分年轻的语言。为了处理这个问 题,我们的团队开始构建各种各样的库,已提供更好的封装抽象,例如连接管理和MenCache客户端。我们非常兴奋的宣布我们开源了这些库,帮助更广大的 社区开发大型的产品系统。

作为这项努力的开端,我们包含了许多库。下面列举几个:

  • caching :提供建立caching层的通用抽象。
  • errors :强化了标准错误接口并且揭示出栈跟踪的信息
  • database/sqlbuilder : 允许开发者用可编程的方式生成sql语句。
  • memcache : 实现了一个全特性的memcache客户端库,支持连接池和灵活的 shading 。
  • net2 : 连接管理中加入了函数性功能。
  • (还有我个人最喜欢的,hash2,它包含了一个空间效率高,基于排列的连续哈希算法)

我们会在下面这个repo继续扩大这些库的规模:
https://github.com/dropbox/godropbox

为了确保我们持续投入努力到这些开源库中,我们承诺在我们内部也使用这个公开版本的repo。我们正在迁移内部系统,以直接使用这个repo中的库。这能确保所有的修改和优化都能在他们被提取内部系统之前对公众开放。

我们希望你能加入我们的社区,帮助我们把这些程序库变得更好!

Dropbox 开源其 Go 语言库 —— godropbox相关推荐

  1. 研究开源项目发现的一个人性化的Go语言库

    点击上方蓝色"飞雪无情"关注我,设个星标,第一时间看文章 前段时间Info约稿,在文章中我提到了一个可以提升自己能力的办法:就是研究开源项目,这也是我一直实践的. 夜深人静的时候, ...

  2. c语言比较好的gui界面库,几款开源的图形界面库(GUI Libraries)

    国外: 遵循BSD许可协议的C++ GUI库,建立在Windows API之上,但仍可以通过使用WineLib在Linux/xNix上使用.也支持Pocket PC和基于Windows CE的应用程序 ...

  3. 最全面的iOS和Mac开源项目和第三方库汇总

    标签: UI 下拉刷新 EGOTableViewPullRefresh – 最早的下拉刷新控件. SVPullToRefresh – 下拉刷新控件. MJRefresh – 仅需一行代码就可以为UIT ...

  4. 一些C++的开源项目和C++库以及修炼C++的方法

     Google的C++开源代码项目 v8  -  V8 JavaScript Engine V8 是 Google 的开源 JavaScript 引擎. V8 采用 C++ 编写,可在谷歌浏览器( ...

  5. pytorch微调bert_小版BERT也能出奇迹:最火的预训练语言库探索小巧之路

    选自Medium 作者:Victor Sanh 机器之心编译 参与:魔王 过去一段时间,大模型层出不穷.在大家纷纷感叹「大力出奇迹」的时候,作为调用预训练语言模型最流行的库,HuggingFace 尝 ...

  6. axis2 默认端口_基于 AXIS2/C 的 C 语言库实现对提供 REST API 的系统进行数据访问...

    基于 AXIS2/C 的 C 语言库实现对提供 REST API 的系统进行数据访问 宋 东平 和 赵 健 2013 年 3 月 07 日发布 AXIS2/C 简介和 REST 及 REST API ...

  7. python绘制三维矢量图_开源图形库 c语言-图形图像库 集合

    Google三维API O3DO3D 是一个开源的 Web API 用来在浏览器上创建界面丰富的交互式的 3D 应用程序.这是一种基于网页的可控3D标准.此格式期望真正的基于浏览器,独立于操作系统之外 ...

  8. 9个开源的 Vue3 组件库

    作者:ARRON https://juejin.cn/post/7092766235380678687 参考了如下组件库,因为有些设计是多个版本和框架的,这里只讨论 Vue3 版本. element- ...

  9. 转:开源图形库 c语言-图形图像库 集合

    Google三维API O3D O3D 是一个开源的 Web API 用来在浏览器上创建界面丰富的交互式的 3D 应用程序.这是一种基于网页的可控3D标准.此格式期望真正的基于浏览器,独立于操作系统之 ...

最新文章

  1. 博弈入门(思想)HDkiki‘s game;
  2. 前端学习(3043):vue+element今日头条管理-组件目录和组件名
  3. PhoneGap在Android上的插件开发方法介绍
  4. 以太坊执行miner.start返回null终极解决方案
  5. 万得VS腾讯QTrade:兵分两路,B端见?
  6. php格式文件用什么看,.zbf是什么格式文件,用什么看的
  7. [.NET] ConfuserEx脱壳工具打包
  8. 北邮 形式语言与自动机
  9. 谈谈我对证券公司一些部门的理解(前、中、后台)
  10. [Atlassian]JiraConfluenceCrowd配置SSO
  11. C++快速入门学习笔记(二)
  12. 选择第K大元素(快排、快选以及k-选取比较)
  13. Nouveau源代码分析(三):NVIDIA设备初始化之nouveau_drm_probe
  14. IOS – OpenGL ES 图像鱼眼扩散效果 GPUImageBulgeDistortionFilter
  15. 洛谷P3387 【模板】缩点(tarjan)
  16. Win7系统网络连接图标显示红叉但可以正常上网怎么办
  17. 计算机卡登录界面,win10电脑卡在登录界面怎么办
  18. 【王道考研】操作系统 笔记 第二章上 进程调度
  19. 教大家微信里投票的怎么刷票及微信投票怎么免费刷票攻略
  20. 实际应用和量子计算的实现

热门文章

  1. centos7 如何重启web服务_如何重启web服务器
  2. js split参数为无效字符_互联网前端开发技术JavaScript字符串类型详解
  3. 八皇后(N皇后)问题
  4. android目录穿越,安卓导航之Oruxmaps系列教程
  5. python线程数组_Python多线程
  6. echarts中x轴文件消失_实测实例:labview中波形图X轴刻度任意刻度设置
  7. ※部分VB文章汇总A※
  8. SpringBoot实战(十):统一异常处理
  9. 图灵奖颁给深度学习三巨头,他们曾是一小撮顽固的“蠢货”
  10. 特斯拉两高管被爆离职,股价狂跌超过10%,马斯克宣布高层大换血