Gingko当前应用于百度内部100多个产品线的数据分发、配置更新、模块部署、词典传输等场景中。公司内各产品线每天使用gingko进行1600w次数据下载操作,下载的总数据量在700TB+,覆盖2w+台机器。同时,当前能够支持 在30分钟内分发一份数据(700M左右)到全公司所有服务器上(数十万台机器)。
Gingko分为单机上的客户端gko3和服务端tracker两部分。
客户端使用稍作改造的开源libtorrent库实现了基于BT协议的P2P传输。同时我们增加了支持对数据源在hdfs上进行P2P下载的方式。下载模式也支持多种用户需求,如下载完成后继续后台做种、磁盘空间动态预分配、direct IO等。
Tracker采用thrift+redis实现了一套高性能的server。单tracker实例可以达到1.8w QPS。Tracker根据协议特点而进行的分布式架构,使得其一方面可以迅速扩容,一方面可以减少跨机房/跨地域传输流量,给全公司提供统一的高性能服务。
2012年山东大学硕士研究生毕业,现在担任百度运维部高级软件研发工程师。自2013年开始做内网p2p数据分发项目gingko,参与了从设计到实现的所有细节。
有意赞助 O'Reilly Velocity China 2014 或者有其他合作想法,请通过地址 donna at oreilly.com.cn 联系马女士。
For Velocity China sponsorship information for companies outside China, contact Gloria Lombardo at glombardo at oreilly.com
进一步联系信息请查看联系Velocity China 2014