我有一个系统,多颗卫星创建金融交易,它们需要与核心服务器同步。卫星是使用本地Postgres数据库运行Rails应用程序的远程服务器。核心是另一个Rails应用程序,它有自己的Postgres数据库。卫星和核心几乎都有相同的模式(但不是相同的)。所有东西都是容器化的(应用程序和数据库)。很少有核心服务器更新所有卫星所需的数据。目前我有一颗卫星,但这个数字会增加到一对(我认为在遥远的将来不会超过100颗)。在核心和卫星之间没有顺序或争用的问题。核心永远不会更新与任何卫星相同的交易,没有任何卫星将更新与任何其他卫星相同的事务。更好的是,金融交易有一个uuid作为主键。
由于这是一个多主同步问题,我自然遇到了BDR。我有以下问题:
发布于 2016-12-22 11:08:05
BDR生产是否准备就绪,是否稳定?
是的,BDR 1.0为BDR-Postgres 9.4是生产准备和稳定的.但我想说的是因为我在2 nd象限工作,谁开发了BDR?。
但是,它并不是独立的PostgreSQL的替代,您可以在不改变应用程序的情况下使用它。请参阅手册的概述部分。
我正在阅读几种相互竞争的技术(比如布卡多和隆迪)。
他们都不一样。不同的权衡。在BDR手册中有一些关于它们的讨论,但是当然,我们不能声称是公正的,所以我们可以轻描淡写地看待这些问题。
它真的是Postgres 9.6的一部分吗?
不,绝对不是。你在哪里看到这种说法的?
将来(但还没有)将发布一个扩展,以便在PostgreSQL 9.6中添加BDR。但是它不会是PostgreSQL 9.6的一部分,它将是你安装在顶部的东西。
BDR能处理断开的模型吗?我不认为这会经常发生,但我的卫星可能会中断几个小时。
是的,它很好地处理临时分区和网络中断,并对全局序列提出了一些警告。详情请参阅手册。
BDR能进行选择性同步吗?
是。请参阅复制集手册。
表结构总是被复制的。目前,最初的表格内容也是如此。但是表更改可以有选择地按表复制.
例如,我只希望某些表被同步。
好的。
BDR能处理100颗卫星吗?
不太好。这是一种网格拓扑结构,希望每个卫星都能与其他卫星进行对话。另外,每个节点都有198个后端(99个walsenders +99个应用工作人员)。不漂亮。
你真的想要一个星和枢纽模型,每个卫星只与中心对话。这在BDR1.0中不受支持,在BDR2.0中也不是支持的目标。
我认为这是逻辑学或Londiste的一个更好的用例。
我在这里不能说得更详细,因为它与我所参与的商业咨询服务重叠。我与之合作的团队为客户设计了这样的专业服务。
https://stackoverflow.com/questions/41279027
复制相似问题