问题标签 [cap-theorem]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
525 浏览

mariadb - Mariadb galera 集群和上限定理

根据 cap 定理 CP 或 AP,mariadb galera 集群位于何处,基于其工作原理的简要说明。

0 投票
1 回答
69 浏览

cassandra - 在最终一致性环境中写入后读取记录

写入 NoSQL 最终一致性环境后,如何读回记录?例如,我去了一个大型电子商务网站,下订单后,我看到了订单确认页面,但是当我点击订单号时,我收到了未找到订单的消息,但由于最终的一致性,一分钟后就可以正常工作了。如何在 Cassandra 这样的 NoSQL 环境中克服这个问题?

0 投票
2 回答
32 浏览

bigdata - 快速数据访问是否与 CAP 定理中的可用性(A)有关?

我意识到这将是一个基本概念,但如果有人能解释快速数据访问是否与 CAP 定理中的可用性 (A) 相关,那将会很有帮助。快速数据访问是大数据系统所期望的一个重要特性。并且各种 K-Access 和 K-grouping 方法都是其中的一部分。

0 投票
1 回答
271 浏览

redis - 是否可以检测到客户端已断开连接?

我正在使用 redis 实现 RPC 机制。

服务器连接到 redis 并监听请求BLPOP job:queue 0,客户端连接并添加请求RPUSH job:queue [$job_id, ...]。然后客户端等待结果BLPOP job:done:$job_id 0,服务器将结果推送到该队列中供客户端使用。

如果在作业服务期间,例如,一旦服务器调用BLPOP并获取了作业详细信息,服务器就死了,客户端将永远等待响应,但它永远不会到达。

有没有办法在 Redis 中检测到这种情况,例如在服务器接受作业后,崩溃,连接关闭(例如 tcp 套接字被操作系统关闭)。Redis 是否可以发出客户端已断开连接的信号,我们是否可以使用它来检测作业已被接受但永远不会完成?或者,除了队列之外,redis 中是否有更好的 RPC 机制?

0 投票
1 回答
177 浏览

azureservicebus - Azure 服务总线和 CAP 定理

我找不到有关 Azure 服务总线和 CAP 定理的任何信息。

Azure 服务总线是否在存在网络分区时选择可用性或一致性?

0 投票
1 回答
509 浏览

database - Cassandra写一致性级别ALL说明

根据Cassandra 的 Datastax 文档

“如果协调器无法写入足够多的副本来满足请求的一致性级别,它会抛出一个不可用的异常并且不执行任何写入。”

这是否意味着在写入过程中,写入更新的数据将不可用于读取请求?我的意思是可能有 4/5 个节点已成功向协调器发送了 SUCCESS,这意味着它们的数据已更新。但是第五个还没有写。现在,如果一个读取请求进入并转到这 4 个节点之一,它仍然会显示旧数据,直到协调器收到来自第 5 个节点的确认并将新数据标记为有效?

0 投票
1 回答
433 浏览

apache-kafka - Kafka:消费者可以在所有副本同步之前读取消息吗?

我正在设计一个事件驱动的分布式系统。

我们需要分发的事件之一需要 1- 低延迟 2- 高可用性

消息的持久性和副本之间的一致性对于这种事件类型并不重要。

阅读 Kafka文档,消费者似乎需要等到一个分区的所有同步副本都将消息应用到他们的日志之前,消费者才能从任何副本中读取它。

我的理解正确吗?如果是这样,有没有办法解决它

0 投票
1 回答
23 浏览

distributed-system - 在客户谈判中使用 CAP 定理

我们公司为电子闸机开发了一个软件。客户高度强调的要求之一是旋转栅门应该离线工作。出于审计目的,闸机还应将每次通过尝试发送到我们的主服务器。实际上,我的任务是确保两个分布式表,一个在旋转门机器上,运行 Windows 和 SQLite,另一个在服务器上,运行 Linux 和 Oracle,彼此始终保持一致。

旋转门(客户端)通过高度不可靠的无线网络与服务器通信,使用 SOAP over HTTP。

在我们与客户的下一次谈判中,我们将讨论出现网络分区时闸机应该做什么。由于我们显然不能在这里牺牲可用性,我们正在失去一致性。

所以,我的问题是:使用 CAP 定理让我们的客户相信当网络分区发生时我们不会保证一致性是一个好策略吗?对他们说:您不能离线使用旋转门并尝试通过审核,因为... CAP 定理

0 投票
1 回答
237 浏览

database - CAP Theorem - 异步写入和一致性

当说系统是 CP(一致和分区)时,这是否意味着我们不能在复制的数据节点之间使用异步同步,并且每次写入都必须同步(甚至事务)复制?

据我了解,一致性意味着对于每次写入,后续读取(来自任何节点)都将获得最新更新。如果我们写入特定节点并异步同步其他节点,则在同步结束之前将发生的读取可能无法获得最新的写入。

0 投票
1 回答
75 浏览

distributed-computing - 如何理解 CAP 定理中的“可用数据对象”?

在“布鲁尔猜想和一致、可用、可容忍分区的 Web 服务的可行性”中,它说

所以在zookeeper集群或MongoDB副本集等系统中,只有master可以接受写请求,如果客户端向slave发送写请求,它将把客户端重定向到master或者拒绝请求。
在这种情况下,slave收到的请求是否会导致响应?而为什么zookeeper总是被称为没有A的CP系统?

我已阅读如何理解 CAP 定理的“可用性”?,但没有得到答案。