大卫·金||golang司机开源
当一个开源项目,你靠不再满足你的需求,你做什么?当你的选择会影响不只是你,但一个更大的社区,什么原则指导你的决定吗?
提交补丁往往是第一选择,但你在维护者的摆布接受。如果您需要更改扫地,实质性的改变,接受的几率很低。最终,只有少数现实的选择依然是:找到一个替代,叉项目,或写自己更换。大家谁依赖于开源面临这一难题,在同一时间或其他。
依托多年在社区开发后氧化镁转到司机Mong188金宝搏手机客户端安卓下载oDB的,MongoDB的已经开始了一个全新的,内部开发的,开源的围棋驱动工作。我们知道,释放公司赞助的替代成功,社区开发的项目为用户创造紧张和不确定性,所以我们没有轻易作出这个决定。我们仔细考虑了我们的选择会如何影响MongoDB的当前和未来的围棋用户。188金宝搏手机客户端安卓下载
凯尔ERF||CIgolang
我们都在那里:你推销的解决方案时,你的团队成员插言道之一,“我们不要另起炉灶,在这里。”无论是基于恐惧或智慧,充电重新发明轮子的是思想的死刑判决。它通常是不值得的时间和资源来实施的新版本旧的,无处不在的想法,但你永远不会知道,与所有不同类型,你每天使用的实际,文字的车轮。
对于大多数开发,持续集成(CI)-The自动化建设和推入新的代码测试库,是那些从未彻底改造一个轮子。您可以设置像一些长期的解决方案之一特拉维斯要么詹金斯,rejigger你的测试代码,以适应这个解决方案的组织模式,然后避免与它搞乱太多。在这里,在Mon188金宝搏手机客户端安卓下载goDB的,具有挑战性的这种做法报应我们难以置信。
相反周围没有满足我们的需求关闭的,现成的解决方案时,我们结束了重新发明轮子,并建立了我们所谓的长荣自己的持续集成系统。它为我们提供了一个功能强大,高效的基础设施,迅速让我们测试的变化 - 并保持我们的工程师也喜欢的。我们的旅程创造常青出生的必要性和不确定性大步,但我们不后悔。重塑使我们能够为我们的使用情况下,一个近乎完美的CI工具车轮,认真评估强大的新技术,并有很多的乐趣。
Adinoyi智慧Omuya||并发归档golang
Go语言是伟大的并发性,但是当你需要做的工作,自然是串行的,你必须放弃那些好处?我们面对这个问题,同时改写我们的数据库备份实用程序,mongodump,并使用了“分而多重”法串行输出嫁给一个高吞吐量的并发工作负载。
对于并发的必要性
在Mo188金宝搏手机客户端安卓下载ngoDB中,数据被组织成文档集合。从集合中读取数据时,要求经常被抢占,当其他进程获得集合中的写锁。为了防止摊位从降低整体吞吐量,可以从入队一次多个集合读取。因此,mongodump以前版本的同时跨集合读取数据,以达到最大吞吐量。
直接流备份到另一个实例作为第1部分)流通过网络备份,和2):但是,由于老mongodump写每收集到一个单独的文件,它并没有为两个非常常见使用情况的数据库备份实用程序工作的加载操作。我们的新版本,被设计为支持这些用例。
要做到这一点,同时保持吞吐量最大化性能的并行读取,我们利用一些Golang结构 - 包括反射和渠道 - 安全允许多个够程并发养活数据到档案。让我告诉你怎么做。