保持弹性与Postgres同步的最佳方法是什么? [关闭]

问题描述 投票:0回答:1
我正在一个需要良好搜索引擎的小型项目中工作。

我们已经尝试使用postgres全文搜索,但是我们需要更强大且更省力的工具。

经过一些研究,我们了解了事件驱动的体系结构,Rabbit MQ和Kafka等,以保持弹性和数据库同步。从我们的API发出弹性请求似乎比异步请求更具可扩展性。

有人对我们的问题有其他替代解决方案吗?任何建议阅读?我们发现这件事上缺乏资源。

谢谢。

postgresql elasticsearch apache-kafka rabbitmq
1个回答
0
投票
因此,如果我没看错,postgres db是您的主要数据存储,并且出于全文搜索的目的,您希望将记录上传到elasticsearch。

您应该考虑使用Logstash。它是弹性堆栈的一部分。在Logstash中,您定义由输入,过滤器和输出插件组成的管道。

有一个jdbc-input-plugin可以完美满足您的用例。使用此输入插件,您可以配置目标数据库连接,凭据和将获取相关数据的sql语句。此外,您可以定义cron间隔来执行sql语句,例如每60秒。

这是使Elasticsearch与Postgres保持同步的方式。

使用过滤器插件,您可以使用多种内置的“功能”来转换事件(=记录),例如重命名,正则表达式解析,删除事件等。

最后一步是定义一个elasticsearch输出插件,该插件将获取的,可能经过转换的事件发送到elasticsearch,并指定目标索引。

您应该看一下这些文章:

  • 希望这会有所帮助!
  • © www.soinside.com 2019 - 2024. All rights reserved.