簡體   English   中英

對於 Elasticsearch 和 RabbitMQ,將數據導入 S3 的最佳方法是什么?

[英]What is the best approach to getting data into S3 for Elasticsearch and RabbitMQ?

在我的公司,我們開發了一些游戲,其中一些游戲的事件被發送到 Elasticsearch 和其他到 RabbitMQ。 我們有一個本地 CLI,它從兩者中獲取數據,將消息編譯為壓縮 (Gzip) JSON 文件,然后另一個 CLI 將它們轉換為 SQL 語句並將它們扔到本地 Z9778840A01012B30BCA28 服務器中。 我們現在想擴大規模,但目前的設置很痛苦,而且離實時分析還差得很遠。

我最近在 Python 中構建了一個應用程序,我計划將其發布到 AWS 中的 docker 容器中。 該腳本從 Elasticsearch 抓取數據,編譯成小型壓縮 JSONS 並發布到 S3 存儲桶。 從那里數據被攝取到雪花中進行分析。 到目前為止,我能夠很快地獲取數據,並且看起來很有希望作為替代方案。

我計划用 RabbitMQ 做類似的事情,但我想找到一個更好的替代方案,它可以讓這個攝取過程無縫地發生,並幫助我避免在 python 代碼中實現各種異常調用。

  1. 我進行了一些研究,發現可能有一種方法可以將 RabbitMQ 鏈接到 Amazon Kinesis Firehose。 我的問題是:如何將 stream 從 RabbitMQ 發送到 Kinesis?

  2. 對於 Elasticsearch,實現這一目標的最佳方法是什么? I've read about the logstash plugin for S3 ( https://www.elastic.co/guide/en/logstash/current/plugins-outputs-s3.html ) and about logstash plugin for kinesis ( https://www. elastic.co/guide/en/logstash/current/plugins-inputs-kinesis.html )。 哪種方法最適合實時攝取?

我的回答將非常有神論,需要在現實世界中進行調整測試並適應您的用例。 對於近乎實時的行為,我會使用logstash

您可以通過 output 到 RabbitMQ 創建更多可擴展架構,並使用其他管道偵聽隊列並執行其他任務。

  • 從logstash ES -> Rabbit MQ
  • 從logstash RabbitMQ -> SQL
  • 從logstash RabbitMQ -> Kinesis
  • 從logstash RabbitMQ -> AWS
  • ETC....

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM