我在VPN中有一个Elasticsearch集群。
如果Spring Boot应用程序位于VPN之外的单独服务器上,那么我如何安全地访问该集群?如何在Spring Boot配置(application.yml / application.properties)中对其进行配置?
我还希望应用程序以某种方式连接到群集,以便如果我有2个合格的主节点,其中一个失败,连接保持不变。
答案 0 :(得分:1)
如果您只有2个主合格节点,则存在“裂脑问题”的风险。有一个简单的公式可以计算所需的主节点数量:
M = 2F +1(m =主节点数,f =可能同时发生故障的主节点数)
将所有主节点定义为elasticsearch客户端的目标。客户端将处理故障转移。请参阅elasticsearc客户文档或查看https://qbox.io/blog/rest-calls-made-easy-part-2-sniffing-elasticsearch作为示例
您的应用程序不应处理该vpn。基础结构(服务器,防火墙)是解决它的正确位置。尝试开发不可知的应用程序环境。这将使您的应用程序更易于开发,维护和增强,以适应基础架构的变化