我想知道如何实现/配置kdb+的RDB和HDB的复制,如何配置RDB和HDB在不同的主机上拥有两个具有相同数据的实例?
发布于 2019-03-04 13:44:56
最简单的方法是交叉挂载tickerplant日志位置和HDB位置,并从这两个主机进行访问。然后,第二个主机上的RDB实例只需像往常一样重放tickerplant日志,并订阅相同的tickerplant -但重要的是不要让第二个RDB进行一天结束的减记。它的.u.end应该只清除内存中的数据。
第二个HDB没有我能想到的任何特殊条件,但是为了让实例自动刷新/重新加载(并获取最新的日期片段),执行写操作的原始RDB也需要触发第二个HDB的刷新/重新加载。
发布于 2019-03-04 17:40:50
您可以尝试其他几种方法。由于KDB没有复制管理系统,因此副本上存在数据丢失或数据乱序的可能性。因此,您必须考虑如何处理这些情况。
处理这些情况的一个简单解决方案是为每个更新维护序列号。如果副本检测到缺失序列或乱序序列,它可以要求主节点发送这些缺失序列的数据。
相反,您可以创建一个单独的进程,所有副本都将订阅此进程。主TP/RDB将数据发送到此管理器服务,然后该管理器服务可以处理副本。通过这种方式,您还可以将与处理逻辑相关的所有副本问题保存在一个位置。
这种方法的另一个好处是不需要改变主要的TP/RDB服务/逻辑来处理数据问题。管理器服务将处理一切。
https://stackoverflow.com/questions/54981431
复制