弹性搜索API与Spring数据Vs logstash

时间:2017-11-23 17:23:51

标签: spring postgresql elasticsearch spring-boot spring-data-elasticsearch

我计划使用基于弹簧启动的休息服务对我们的仪表板使用弹性搜索。经过研究,我看到前3个选项

选项A:

  1. 使用Elastic Search Java API(评论看起来就像要离开)
  2. 使用弹性Search Java Rest Client
  3. 使用spring-data-elasticsearch(计划使用es 5.6但对最新的es 6有挑战性,因为我现在看不到它的支持)
  4. 选项B:

    或者我应该使用logstash方法  使用logstash

    在postgressql和弹性搜索之间同步数据

    在高负荷情况下,哪一个是长期接近ES的实时数据?

    用例:我需要将一些数据从postgresql表保存到弹性搜索我的仪表板(近实时)

    表和es都经常更新 保持现状

    负荷将在几周内增加

1 个答案:

答案 0 :(得分:1)

您列出的选项实质上是:您应该使用现成的解决方案(logstash),还是应该实现自己的解决方案。

首先尝试使用logstash以查看它是否适合您 - 它比实施您自己的解决方案花费的时间更少,并且您可以在几分钟内获得有效的解决方案(如果它不是数百个表)

如果你想要接近实时,那么你需要弄清楚它是否允许你:

  • 处理增量更新,即如果其追踪列数为'配置将适用于您的数据结构,它只会在每次运行中加载更新的记录,而不是整个表。
  • 以所需频率运行
  • 并且通常满足您的延迟要求

如果您决定使用自己的解决方案,请记住spring-data-elasticsearch是底层弹性搜索客户端的更高级别包装器。如果存在延迟目标,那么在较低级别(elasticsearch客户端)上工作可能会为您提供更好的控制和更多选项来调整管道。

否则,客户端选择与数据馈送功能(卷/更新频率)和db / es群集配置无关。