Gizzard:推ter开源数据切分中间件
Gizzard是推ter在11年4月份新推出的一个通用数据切分中间件,在推ter的架构中占用重要的作用。
从图中看到Gizzard主要用于在MYSQL之上,作用是实现数据切分。但目前据说 Gizzard最主要的作用在用于在memcache和redis上。众所周知,memcache和redis本身缺少(或者实现较弱)主从同步机制。在 这里Gizzard的作用就不仅仅是数据切分,还有备份多写、异常队列等多项功能。
官方介绍如下:
Gizzard: a library for creating distributed datastores
按照官方翻译是:一个用于创建分布式存储数据的库。但从功能上来说,Gizzard更适合叫做一个通用的数据切分中间库。如下图所示
Gizzard的主要功能如下:
①支持不同的底层数据存储。Redis/Memcache/Mysql等都支持,原则上只要写操作幂等(也就是写操作与顺序无关)则都可以支持。
②通用数据拆分支持。支持一致性hash、主键mod、自定义拆分函数等多种方式。
③通过replication tree实现不同节点数据的备份机制。
④容错机制。在一台机器出问题后,会自动保存更新延迟队列,在恢复后重新执行,从而保证一致性。
⑤快速的迁移。
本文由用户 openkk 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
转载本站原创文章,请注明出处,并保留原始链接、图片水印。
本站是一个以用户分享为主的开源技术平台,欢迎各类分享!