Disque 1.0 RC1 发布了!
今天我很高兴地宣布,Disque 1.0 的首个候选发布版已经可用。
如果你还不知道 Disque 是什么,最好的起点是阅读 Github 项目页面上的 README,地址是 http://github.com/antirez/disque。
Disque 仅仅是一款软件,因此它的物质价值可能为零,也可能更高,这取决于它为使用者创造有用事物的能力。但对我而言,存在一种超越 Disque 物质本身的巨大价值。那就是设计并实现一件你在乎的事物的价值。这就是编程的魔力:原本一无所有,如今却有了能运行、能被他人分析、运行和使用的东西。
Distributed systems(分布式系统)是一个美妙的领域。感谢 Redis,以及那些以这样或那样的方式指导过我的人们,我得以接触分布式系统。我想把这份热爱转化为某种切实的东西。一个全新的、小型的系统,从零开始设计,不带偏见,也不过于关注其他类似系统在做什么。与 Redis 共事的经历让我看到,message brokers(消息代理)是一个非常有趣的课题,并且在某种程度上,它们是应用 DS 概念的完美课题。我甚至认为 message brokers 可以是有趣而令人兴奋的。因此我尝试设计一个新的 message queue(消息队列),而 Disque 就是成果。
Disque 的设计目标是提供具有良好用户体验的系统:在消息传递的语境中提供易于理解的特定保证,并提供极致的运维简洁性。RC1 提供了基础,但仍有更多工作要做。首先,我希望 Disque 能被 Aphyr 用 Jepsen 进行深入测试。由于 Disque 是一个提供某些可测试保证的系统,如果它未能通过某些测试,这将直接转化为需要修复的缺陷,这意味着最终会得到一个更好的系统。
在运维方面,需要在真实世界中对其进行测试。依我之见,AP 和 message queues 是实现运维稳健性的完美组合。然而,我并没有生活在首个版本就已尽善尽美的幻想中,因此要*真正*达到我所追求的运维简洁性,将需要数月(或数年?)的迭代。此外,这是一个在最近几周内经过大幅修改的 RC1,我预计它会有相当数量的缺陷。
从打造一个有趣而令人兴奋的系统的角度来看,我试图最终呈现一个简单、小巧的 API,它不会迫使用户去思考*这个特定*实现的细节,而是更一般地思考她或他所面临的消息传递问题。Disque 还拥有一系列内省能力,应该有助于使其成为一个非黑盒、切实可调试和可观测的系统。
尽管新代码和新想法存在诸多局限,RC 版本仍是一个伟大的第一步,我很高兴 Disque 没有沦为我们程序员发起却从未完成的那类业余项目之一。
在过去几个月里,当我投入 Disque 的开发并试图构思其形态时,我并非孤军奋战,我得到了以下人士的帮助:He Sun(何孙)、Damian Janowski(达米安·亚诺夫斯基)、Josiah Carlson(乔赛亚·卡尔森)、Michel Martens(米歇尔·马尔滕斯)、Jacques Chester(雅克·切斯特)、Kyle Kingsbury(凯尔·金斯伯里)、Mark Paluch(马克·帕卢赫)、Philipp Krenn(菲利普·克伦)、Justin Case(贾斯廷·凯斯)、Nathan Fritz(内森·弗里茨)、Marcos Nils(马科斯·尼尔斯)、Jasper Louis Andersen(贾斯珀·路易斯·安德森)、Vojtech Vitek(沃伊捷赫·维泰克)、Renato C.(雷纳托·C.)、Sebastian Waisbrot(塞巴斯蒂安·魏斯布罗特)、Redis Labs 和 Pivotal,以及可能还有我此刻未能记起的更多朋友。感谢你们的帮助。
RC1 已在 Disque Github 仓库中打上标签。祝使用愉快!
随机一篇博客