VDL简介
VDL(Vip Distributed Log)的定位是高吞吐、低延时的分布式日志存储,而多副本、强一致性是其关键特征。 这里的Log不是指syslog或者log4j产生的用于跟踪或者问题分析的应用程序日志。Log贯穿于互联网企业应用开发的方方面面,从DB的存储引擎、DB的复制、分布式一致性算法到消息系统,本质上都是Log的存储和分发。
外部应用通过Kafka协议来发送数据到VDL,VDL通过Raft协议来保证数据的强一致和高可靠。客户端通过Kafka协议来消费VDL中的数据。
VDL主要功能
▲ 支持kafka协议生产和消费数据,对用户来说VDL就是一个kafka消息系统。
▲ 部署运维简单,不依赖于其他外部组件。
▲ 数据强一致,服务高可用,raft协议保证。
▲ 保证线性读一致性。
VDL应用场景
从应用场景来看,VDL可应用于以下几类场景:
●复制状态机(Replicated State Machine)
这一类应用主要使用VDL作为事务日志。 比如用于存储 MySQL 的Binlog,形成统一的Binlog服务层,简化数据库的备份、恢复、实例重建、failover等高频流程。
● 消息队列、消息发布订阅、流计算
这一类应用主要使用VDL来存储和传递消息。 我们可以基于VDL实现消息发布/订阅系统;同时也可以作为Storm/Spark的输入和输出,用于实时流计算的场景。
● 数据复制
这一类应用主要使用VDL来进行数据复制。这个数据复制可能发生在本地机房,也可能是跨机房。我们可以基于VDL构建强一致的数据库技术方案。
如何加入VDL讨论群
使用有问题?想直接和作者交流?没关系,扫描下方二维码加入VDL官方微信讨论群。
扫描二维码加入微信群,12月6日前有效
前100名加群免审核、免邀请(扫描上方群二维码即可)。
100名后因管理需要,将开启进群验证,可先扫描下方个人二维码或搜索微信号viptech128[唯技术],备注VDL,添加好友后进入讨论组(如有添加好友异常请稍后再试,或在公众号后台留言“VDL+您的微信号”,工作人员会统一添加好友入群)。
扫描二维码添加唯技术好友
如何向VDL贡献代码
所有报Bug、建议与咨询,请在 GITHUB Issues发起;所有代码提交,请走Pull Request流程。开发人员会及时回复和处理。对于优秀建议和Pull Request代码提交也会给予奖励。 点击阅读原文即可进入GITHUB界面,感谢关注。
推荐阅读
VDL:唯品会强一致、高可用、高性能分布式日志存储介绍(产品篇)
VDL:唯品会强一致、高可用、高性能分布式日志存储(实现篇)
VDL:唯品会强一致、高可用、高性能分布式日志存储 (质量篇)
从零开发一个单机存储引擎-以VDL Logstore设计为例