![]() |
1
2
您不应该混淆主副本和副本之间的一致性以及数据库内的一致性。 在Patenti集群中运行的PostgreSQL数据库是具有流复制副本的普通数据库,因此它提供了流复制的最终一致性(所有副本最终将显示与主副本相同的值)。 Serializability保证您可以在针对主服务器运行的数据库事务中建立顺序,以便按照该顺序序列化执行的结果与实际的工作负载相同。 如果我读对了定义,这与“线性化能力”是一样的。 由于只能将Patenti集群中的一个节点写入(主节点),因此无论数据库是否位于Patenti集群中,都会保持这种状态。 |
![]() |
2
2
在分布式环境中,我们有一个对象状态的多个副本,如果调度是线性的,那么它是线性的 好像它们都是一次更新的 在单个时间点。 写入完成后,任何副本的所有后续读取(挂钟时间)都应该看到该写入的值或后续写入的值。 自PostgreSQL 9.6版以来,可能会有多个同步备用节点。这意味着,如果我们有3台服务器,并且使用num\u sync=2,则主服务器在执行提交之前,将始终等待write位于2备用服务器上。 即使有故障切换,这也应该满足可线性化调度的约束。 自从 Patenti 1.2版 ,当启用同步模式时,Patenti将仅自动故障切换到主设备故障时同步复制的备用设备。 这实际上意味着 没有用户可见的事务丢失 在这种情况下。 |
![]() |
user9467051 · 无法启动zookeeper服务器 6 年前 |
![]() |
Dean Le · Kafka docker容器无法在虚拟机中运行 7 年前 |
![]() |
Gabbar · SolrCloud ZooKeeper兼容性 7 年前 |