我们正计划将Elasticsearch集群移至Amazon ElasticSearch Service(AES)。我们当前的代码库使用本机Java传输客户端与ElasticSearch集群进行交互,但是根据AES文档,它不支持TCP传输。
The service supports HTTP on port 80, but does not support TCP transport.
想知道几件事:
想知道是否仍然如此。我之所以这样问是因为开发人员指南版本看起来有些旧,版本为“开发人员指南(API版本 2015-01-01 )”。
如果对第1项的回答为“是”,则将需要采取何种努力来移植当前逻辑以开始使用REST API而不是传输客户端。
本地传输客户端的性能与REST API的性能是否会有显着差异。我认为使用本机客户端会更高效。
是的,情况仍然如此
如其目标所述,从传输客户端到高级REST客户端的迁移应该很简单。
TCP级别比OSI堆栈中的HTTP级别低3个级别,因此必然会增加开销。它可能可以忽略不计,但是您需要彻底对其进行测试以确保。
没有4,但是我要添加一个:您可能想先阅读以下内容:https : //code972.com/blog/2017/12/111-why-you-shouldnt-use-aws-elasticsearch-service您应该考虑改用Elastic Cloud,它比AES更强大,更灵活且限制更少。