内容简介:相信在座各位的开发者都不会对 Redis 的主从模式(master-slave)感到陌生。Redis 中的主从模式事实上也是源自 MySQL 中同名的一个概念,是同步数据的一种手段。在这样的场景下,master-slave 本来是一个不带任何感...
相信在座各位的开发者都不会对 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
【声明】文章转载自:开源中国社区 [http://www.oschina.net]
以上所述就是小编给大家介绍的《太无奈!Redis 作者被迫修改 master-slave 架构的描述》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 太无奈!Redis 作者被迫修改 master-slave 架构的描述
- 谷歌或将被迫放弃 Android?
- 全球网络带宽告急:Netflix被迫在更多国家降低画质
- 这样的 API 网关查询接口优化,我是被迫的
- 被迫重构代码,这次我干掉了 if-else
- Facebook 注册"Presto"商标,PrestoSQL 被迫更名为 Trino
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。