我正在尝试从 ArangoDB 预写日志 (WAL) 中读取数据,以便将数据复制到 Kafka 中。
ArangoDB 提供了一个 API 来执行此操作,但对其说明如下:
As a public API it is only supported to access these REST endpoints on a single-server instance. While these APIs are also available on DBServer instances, accessing them as a user is not supported. This API replaces some of the APIs in
/_api/replication/
.
来源: WAL Access API
还有复制记录器 API,但至关重要的
/_api/replication/logger-follow
端点已被弃用。有没有办法读取 ArangoDB 集群的 WAL 而不仅仅是单服务器实例?
最佳答案
正如您已经发现的那样,目前我们无法正式支持复制 API 作为 ArangoDB 集群中面向最终用户的 API。
正如当前的实现状态所定义的那样,DB-Servers 有自己的 WAL 来拖尾。根据复制因子和分片策略,您可能会同时看到来自多个服务器的相同 wal 条目。集群本身大量使用复制来实现分片和弹性功能。
在不完全了解那里发生的事情的情况下窥视这一点可能会导致您的设置出现随机副作用。
但是,作为我们商业产品的一部分,可以复制完整的集群:
https://docs.arangodb.com/3.4/Manual/Architecture/DeploymentModes/DC2DC/
如果您对如何处理复制 API 有其他想法,并且有兴趣更详细地讨论这个问题,请通过我的官方地址以 willi 的身份与我联系。
关于arangodb - 有没有办法读取集群的 ArangoDB 预写日志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54426598/