我们有两个弹性搜索集群(在两个不同的数据中心),必须“几乎实时”同步,所以我们希望将命令(通过NEST)发送到两个集群。
注意:我们不想使用快照/恢复,因为它需要在执行恢复之前关闭索引。
在NEST中是否有任何本机支持在多个集群上执行相同的命令(主要是“写”命令)?
如果没有,那么最好的方法是什么?
我环顾四周定义了多个ConnectionPool,但我不确定如何将多个连接池传递给ElasticClient
注意:ATM仍然使用NEST 2.5.5,但我们计划很快转移到NEST 5.x
提前感谢您的帮助。
答案 0 :(得分:1)
在NEST中是否有任何本机支持在多个集群上执行相同的命令(主要是“写”命令)?
没有本机支持以原子方式对多个集群执行请求,但是可以通过使用IElasticClient
的两个实例(一个使用ConnectionSettings
指向一个集群的实例)对多个集群执行相同的请求另一个使用指向另一个集群的ConnectionSettings
。然后,执行将相同的请求传递给两个客户端实例。
您可能希望在一个类型中对两个客户端封装操作,以便在一个位置处理对两个客户端发出请求的需要。