太無奈!Redis 作者被迫修改 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 表示他將會繼續自己的政治活動,也會繼續編寫開源軟體。
Java高架構師、分散式架構、高可擴充套件、高效能、高併發、效能優化、Spring boot、Redis、ActiveMQ、Nginx、Mycat、Netty、Jvm大型分散式專案實戰學習架構師視訊免費獲取 進階高階架構群;855355016