太无奈!Redis 作者被迫修改 master-slave 架构的描述

局长
 局长
发布于 2018年09月10日
收藏 13

相信在座各位的开发者都不会对 Redis 的主从模式(master-slave)感到陌生。Redis 中的主从模式事实上也是源自 MySQL 中同名的一个概念,是同步数据的一种手段。在这样的场景下,master-slave 本来是一个不带任何感情色彩的词语。然而有很多开发者却不这样认为,他们在阅读 Redis 5.0 RC5 的变更日志后发现,Redis 仍然在使用 “master” 和 “slave” 术语来在 Redis 的复制中区分不同的角色,他们对此感到失望,并希望 Redis 作者能修改 Redis 中 master-slave 架构的描述。

按 Redis 作者 antirez 的说法,这已经不是开发者第一次提这种要求了。但这次呼吁修改的声音异常的大,就连 antirez 在推特发起的匿名投票也显示超过半数的人希望修改 master-slave 这一描述。


antirez 表示他很抱歉 master-slave 这个描述让许多人感到失望,但他不认为这个特定于上下文环境的术语具有侵犯性。所以他在数据库中使用 master-slave 当然不是以任何方式暗示“奴隶制度”。

antirez 还表示,这个看似简单的修改实际上要付出昂贵的代价,并产生兼容性问题。例如:

  • 不能在应用现有的 PR

  • 现在有像 INFO 和 ROLE 这样的命令 —— 使用包含 slave 术语的协议进行回复

  • 术语 slave 中的源代码包含 1500 个事件

  • 拥有私人项目并根据需要进行代码合并的人会遇到很多问题

可以看到,冒然进行变动会产生很多问题。而且,现在发布的 Redis 5 候选版本是向后兼容的首个稳定版本。所以这也是需要考虑的一方面。最后 antirez 表达了希望能折中解决问题的建议 ——

短期内的变化:

  • 将 master-slave 架构的描述改为 master-replica

  • 为 SLAVEOF 提供别名 REPLICAOF,所以仍然可以使用 SLAVEOF,但多了一个选项

  • 保持继续使用 slave 来对 INFO 和 ROLE 进行回应,但目前看来,这仍然是一个重大的破坏性变更

长期变化

  • 编写一个 INFO 的替代品

  • 在内部替换很多东西,因为技术原因,如果作了改动,许多 PR 也会无法应用,所以必须在某些地方进行大变动

  • ……

antirez 认为,这些所谓的“政治正确”并没有什么意义,他也在博客中表达了自己的政治倾向,他每天都会在社交网络积极谈论政治,以推动社会的平等。他希望拥有一个公平、机会财富再分配和开放的世界。但他认为获得这个世界的方式不是禁止言论,也不是通过在 Twitter 上讨伐别人 —— 只是为了让他人遵守你的意识形态。antirez 表示他将会继续自己的政治活动,也会继续编写开源软件。

参考链接

http://antirez.com/news/122
https://github.com/antirez/redis/issues/5335

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:太无奈!Redis 作者被迫修改 master-slave 架构的描述
加载中

精彩评论

巴拉迪维
巴拉迪维
瞧瞧,仅仅只是一个单词而已。
陈钇蒙

引用来自“-TNT-”的评论

redis都要zzzq…老外真闲的

引用来自“开源中国顶顶顶”的评论

老外不是闲, 是严谨, 看看人家德国,美国人,日本人办事

引用来自“混沌恶”的评论

得了吧,画皮早吹破了,现在还有人信这些

引用来自“开源中国顶顶顶”的评论

那就认为他们是闲的蛋疼吧
严谨和政治正确是两回事, 要是redis坚持代码稳定性不改这个关键词才是严谨
NickWilde
NickWilde
~~这又有啥意义呢?难道仅仅不叫从节点为 slave 从节点就可以翻身做 master 了?
愚_者
愚_者
世界上每个国家都有自己的“政治正确”的东西,我们看起来莫名其妙的东西,对于他们,也许很重要。仔细想想,难道我们没有吗
厉害吧24中
厉害吧24中

引用来自“-TNT-”的评论

redis都要zzzq…老外真闲的

引用来自“开源中国顶顶顶”的评论

老外不是闲, 是严谨, 看看人家德国,美国人,日本人办事
别吹了,欧美的政治正确真的是shit一样。软件稳定、平滑升级才是最大的正确。

最新评论(59

ApacheCN_飞龙
ApacheCN_飞龙
WHAT THE FUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUCK???!!
竹椅草扇老陈头

引用来自“-TNT-”的评论

redis都要zzzq…老外真闲的

引用来自“开源中国顶顶顶”的评论

老外不是闲, 是严谨, 看看人家德国,美国人,日本人办事
可劲吹老外,欧美所谓“弱势群体”已经是到了上纲上线,矫枉过正的地步了,当初文革也是这种民粹主义盛行。
这种不正之风已经吹到开源界了,不少这种“有心人”在Linux,Redis,FreeBSD等项目上开始做文章了。
继续作下去开源界也要变得浑浊不堪,各种别有用心的“红卫兵”要掌握软件行业的权力和发言权。
飞牛天使
如果要改,要改的地方多了,虚拟机软件的硬盘接口,主从模式,台式电脑的硬盘接口,也有主从模式,都要改完
M
MangDong
对于我们开发者来讲,没有什么比概念和形式更加重要的,事实是什么就是什么,不要文过是非,否则可能遭受更大的损失
t
tobatha
redis好欺负.....先试试水~
izee
izee
slave在计算机领域已经是很惯用的词了,我认同他们政治正确的动机,但只给redis施压算个什么事儿?
p
peterKuTeng

引用来自“-TNT-”的评论

redis都要zzzq…老外真闲的

引用来自“开源中国顶顶顶”的评论

老外不是闲, 是严谨, 看看人家德国,美国人,日本人办事

引用来自“混沌恶”的评论

得了吧,画皮早吹破了,现在还有人信这些

引用来自“开源中国顶顶顶”的评论

那就认为他们是闲的蛋疼吧

引用来自“陈钇蒙”的评论

严谨和政治正确是两回事, 要是redis坚持代码稳定性不改这个关键词才是严谨
这一点很难判定。如果换成是“主人—黑奴”这样的组合,我们大部分人会支持改动,无论它涉及多大的代码改动。要求对“master—slave”进行改动 与 要求对“主人—黑奴”进行改动,看似相同的事情,但我们对它们的看法却不同。因为我们认为“黑奴”这个单词比“奴隶”更加恶劣,指向的人群更加明确。而这里的问题是:我们不知到在西方现有环境下,他们如何解读“master—slave”这对组合。
l
lblin
就像我虽然说在座的各位都是辣鸡,即便各位不是辣鸡也会心里不舒服一样
d
dwcz

引用来自“dwcz”的评论

没看明白。到底是M-S的架构有政治问题,还是名称有问题。要是名称有问题改个名不就行了,怎么会带来除兼容性外的其它问题?。

引用来自“节节草”的评论

改名没那么简单吧,比如redis源码中包含master、slave相关单词的事件派发,这些内部的事件名全得改了,还有某些带有master、slave的命令行,新版本改了,但还有很多用了老版本的,不能平滑升级,自然就出现不兼容了。
经常改命名,在命名已经习惯唯一化。所以觉得没啥难度。命令行和文档改起来是蛮麻烦的,不过一般不用管兼容性问题。哈哈,还是项目太小了。
eyas
eyas
白左开始对技术圈动手了
返回顶部
顶部