kafka可以用作oracle和elastic search之间的消息传递服务吗?这种方法有什么缺点吗?
t3psigkw1#
我以前用SQLServer而不是oracle尝试过这种方法,效果很好,我相信您也可以用oracle尝试同样的方法,因为我知道下面要介绍的logstash jdbc插件支持oracle db。所以基本上你需要一个logstashjdbc输入插件https://www.elastic.co/guide/en/logstash/current/plugins-inputs-jdbc.html 它指向您的oracledb示例,并使用kafka输出插件将行推送到kafkahttps://www.elastic.co/guide/en/logstash/current/plugins-outputs-kafka.html.现在要从kafka中读取内容,需要另一个logstash示例(这是索引器)并使用kafka输入插件https://www.elastic.co/guide/en/logstash/current/plugins-inputs-kafka.html. 最后使用logstash indexer配置文件中的elasticsearch输出插件将事件推送到elasticsearch。所以管道看起来是这样的,oracle->logstashshipper->kafka->logstashindexer->elasticsearch。所以总的来说,我认为这是一种将事件从db推送到ElasticSearch的可伸缩的方法。现在,如果你看看缺点,有时你会觉得你的管道中有太多的组件,特别是当你失败的时候,你会感到沮丧。因此,您需要在每个级别上设置适当的控制和监视,以确保您有一个如上所述的正常运行的数据聚合管道。试试看,祝你好运!
uklbhaso2#
kafka connect为您提供了一个jdbc源和一个elasticsearch接收器。我知道除了服务维护之外,没有什么不好的地方。尽管可以随意使用logstash,但是kafka提供了更好的弹性和可伸缩性。
2条答案
按热度按时间t3psigkw1#
我以前用SQLServer而不是oracle尝试过这种方法,效果很好,我相信您也可以用oracle尝试同样的方法,因为我知道下面要介绍的logstash jdbc插件支持oracle db。
所以基本上你需要一个logstashjdbc输入插件https://www.elastic.co/guide/en/logstash/current/plugins-inputs-jdbc.html 它指向您的oracledb示例,并使用kafka输出插件将行推送到kafkahttps://www.elastic.co/guide/en/logstash/current/plugins-outputs-kafka.html.
现在要从kafka中读取内容,需要另一个logstash示例(这是索引器)并使用kafka输入插件https://www.elastic.co/guide/en/logstash/current/plugins-inputs-kafka.html. 最后使用logstash indexer配置文件中的elasticsearch输出插件将事件推送到elasticsearch。
所以管道看起来是这样的,oracle->logstashshipper->kafka->logstashindexer->elasticsearch。
所以总的来说,我认为这是一种将事件从db推送到ElasticSearch的可伸缩的方法。现在,如果你看看缺点,有时你会觉得你的管道中有太多的组件,特别是当你失败的时候,你会感到沮丧。因此,您需要在每个级别上设置适当的控制和监视,以确保您有一个如上所述的正常运行的数据聚合管道。试试看,祝你好运!
uklbhaso2#
kafka connect为您提供了一个jdbc源和一个elasticsearch接收器。
我知道除了服务维护之外,没有什么不好的地方。
尽管可以随意使用logstash,但是kafka提供了更好的弹性和可伸缩性。