内容简介:相信在座各位的开发者都不会对 Redis 的主从模式(master-slave)感到陌生。Redis 中的主从模式事实上也是源自 MySQL 中同名的一个概念,是同步数据的一种手段。在这样的场景下,master-slave 本来是一个不带任何感情色彩的词语。然而有很多开发者却不这样认为,他们在阅读 Redis 5.0 RC5 的变更日志后发现,Redis 仍然在使用 “master” 和 “slave” 术语来在 Redis 的复制中区分不同的角色,他们对此感到失望,并希望 Redis 作者能修改 Red
相信在座各位的开发者都不会对 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 表示他将会继续自己的政治活动,也会继续编写开源软件。
参考链接
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 太无奈!Redis 作者被迫修改 master-slave 架构的描述
- 谷歌或将被迫放弃 Android?
- 全球网络带宽告急:Netflix被迫在更多国家降低画质
- 这样的 API 网关查询接口优化,我是被迫的
- 被迫重构代码,这次我干掉了 if-else
- Facebook 注册"Presto"商标,PrestoSQL 被迫更名为 Trino
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Java高并发编程详解
汪文君 / 机械工业出版社 / 2018-6 / 89.00元
本书共分为四个部分:部分详细地介绍了Java多线程的基本用法和各个API的使用,并且着重介绍了线程与Java虚拟机内存之间的关系。第二部分由线程上下文类加载器方法引入,介绍为什么在线程中要有上下文类加载器的方法函数,从而掌握类在JVM的加载和初始化的整个过程。第三部分主要围绕着volatile关键字展开,在该部分中我们将会了解到现代CPU的架构以及Java的内存模型(JMM)。后一部分,主要站在架......一起来看看 《Java高并发编程详解》 这本书的介绍吧!