栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Redis模仿MASTER / MASTER?或者是其他东西?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Redis模仿MASTER / MASTER?或者是其他东西?

Tom的答案是,您没有在运行任何类型的集群,而只是在写入两个服务器。如果要确保它们之间的一致性,这将是一个问题。请考虑当客户端对远程服务器的写入失败时会发生什么。您撤销对本地的写操作吗?当您无法写入远程服务器时,应用程序会怎样?当您无法从本地读取内容时会怎样?

第二个难题是约书亚提出的基本物理问题。对于往返,您正在说理论上的最小处理时间为38ms,而(三个系统的)两端的理论上最大处理时间为12ms。我想说的是期望值太高了,在这种情况下带宽与延迟无关。您可能有10GB的管道,而这些时间仍然存在。也就是说,在12毫秒内跨大陆传输5k的要求也很高。您确定您具有在50毫秒内传输5k数据的连接能力,更不用说12了吗?我到过整个非洲大陆的私有无利用电路,发现ping时间超过50毫秒-
ping不能传输5k数据。

您如何使两个不相关的服务器保持同步?如果您确实需要整个大陆的50ms以下延迟,那么以上理论上的最佳情况意味着您有12ms的时间来运行同步算法。甚至一个查询来检查另一台服务器上的数据也意味着您不在50ms窗口之内。如果数据不同步,您将如何解决?考虑到上述时间,我看不到如何在50毫秒内进行同步。

我建议重新考虑基本的设计要求。具体来说, 为什么要有
此要求?整个大陆往返50ms的延迟要求通常是市场营销或缺乏对细节的关注的标志。我敢打赌,如果您分析需求,您会发现这个50ms的窗口是多余和不必要的。如果不是这样,并且数据同步实际上很重要(可能),那么有人将需要确定编写同步代码的大量额外工作是否值得,甚至可以保持在50ms的时间范围内。跨大陆低于50毫秒的延迟数据同步不是一个简单的问题。

如果您不需要同步,为什么不简单地运行一台服务器呢?您可以将大陆另一侧的奴隶用于仅恢复目的。当然,这仍然意味着最好的情况是您有12ms的时间来获取数据。我不会指望整个大陆进行50毫秒的往返操作+延迟+
5k / 10k数据传输。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/393218.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号