- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我开始研究 nosql 和面向文档的数据库来存储我们将在网站上提供的 HTML5 应用程序的资源。这旨在替代仅在文件系统上存储文件的情况。它们将是针对 Web 优化的小型文件,包括 html、js、css 和 xml 等文本文件,以及图像、声音和字体等二进制文件。
由于我对容错感兴趣,所以我正在寻找的解决方案(riak、Cassandra)使用最终一致性。虽然我在抽象层面上理解这个概念,但当我与管理者和决策者交谈时,我无法用实际术语解释最终一致性需要多长时间才能变得一致。毫秒?秒?分钟?由于我在这个领域没有任何经验,因此我正在寻找现实世界的经验来了解这意味着什么。
我知道不同的变量将准确决定任何配置需要多长时间,但我需要能够开始了解我们需要构建哪些类型的基础设施来支持我们的需求。所以我正在寻找的是我们是否需要优化网络延迟、节点数量等来支持我们的特定需求。
我们希望能够选择要测试的平台,并且在投入时间研究任何特定解决方案之前,我们希望能够说“不,这对我们不起作用。”
我们现在拥有使用严格一致性的系统(例如我们的网络服务器和 mysql 数据库上的文件系统),因此我们的管理习惯于负载和超时等概念,以及“宕机”的情况。但我无法与他们沟通“是的,数据现在不可用,但它并没有关闭;它最终将可用”。他们想知道“那么,‘最终’是多长时间?”
我如何判断最终一致的系统是否能够在我们的网站上实际发挥作用?
最佳答案
由于我对 Riak 的熟悉程度明显高于 Cassandra,因此我将限制讨论最终一致性如何应用于 Riak。
正常运行期间,Riak支持tuneable consistency它允许您根据应用程序的要求定制一致性行为。然而,默认设置非常合理,适用于大多数情况,因为它们需要大多数 replicas在读取或写入被视为成功之前对其进行响应。
尽管所有副本可能并非在每个时间点都处于完全相同的状态,但这些一致性设置将确保您读取所写入的内容。传统上,不一致是通过一个名为 read-repair 的过程在读取时纠正的。 ,但如果启用主动反熵(Riak 1.3版本的新功能),也可以定期纠正。
Eventual consistency否则主要要在各种故障场景中考虑。如果例如当一个节点与集群的其余部分分离时,它将(使用默认设置)继续能够接受写入和读取,它将根据其保存的数据/副本发挥最佳能力。由于在此期间它无法与集群的其余部分通信,因此可能会出现不一致。然而,一旦集群恢复正常运行状态,这些问题就会得到解决。具体需要多长时间取决于许多外部因素,范围可能从临时网络故障的几分之一秒到需要手动干预来纠正问题的几分钟或几小时。
关于nosql - 如何计算最终一致性需要多长时间才能达到一致?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15556613/
我有一个独立的 Thread 应用程序。这是一个等待消息的监听器,当消息到达时执行一些操作,其中我必须将消息保存在数据库中。但我遇到了问题,因为如果我运行应用程序并“手动发送消息”,一切都会正常工作,
我有以下php代码: sleep(65); $query = "UPDATE database.table SET XXXXXXX = XXXXXXX - ".$YYYYYY." WHERE
我正在开发一个业余爱好应用程序。它在主布局中使用 webview。单击 webview 内的链接会使用户保持在 webview 内。启动后一切正常,但仍在应用程序内。但是,在手机休眠一段时间后,我重新
我目前运行的应用程序需要最大堆大小为 16GB。 目前我使用以下标志来处理垃圾回收。 -XX\:+UseParNewGC, -XX\:+UseConcMarkSweepGC, -XX:CMSIniti
$ uname -a Darwin Wheelie-Cyberman 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun 7 16:33:36 PDT 2011
在 while 循环仍在休眠时退出它的最简单方法是什么?是否有某种函数可以在 sleep 时检测某个值是否为真? 或者我是否在循环中设置一个小 sleep 并检查如果不再睡一会儿就退出?如果可以,我该
我正在 Ubunu 的 Jetty 6 上运行 Java Web 服务器,用于基于反向 ajax 的 Web。而且我在向浏览器重新发送数据的线程滞后方面遇到了严重的问题。很多时候,一些线程开始 hib
当我运行长时间操作时,我遇到来自 IIS 的请求超时。我的 ASP.NET 应用程序正在后台处理数据,但处理的记录数量很大,因此操作需要很长时间。 但是,我认为 IIS 使 session 超时。这是
我不确定从哪里开始解决这个问题,但如果我有一个 AJAX 网络应用程序向服务器发送请求并在数据库(在我的例子中是 postgresql)上运行长查询,有没有办法停止或如果仍在运行时用户刷新页面或关闭
我是一名优秀的程序员,十分优秀!