在我的公司中,我们开发了一些游戏,对于某些游戏,事件被发送给Elasticsearch,其他事件则发送给RabbitMQ。我们有一个本地CLI,该CLI可以从这两者中获取数据,将消息编译成压缩的(Gzip)JSON文件,然后另一个CLI将它们转换为SQL语句,然后将它们扔到本地SQL Server中。我们现在想扩大规模,但是当前的设置很麻烦,而且无法实时进行分析。
我最近用Python构建了一个应用程序,打算将其发布到AWS的docker容器中。该脚本从Elasticsearch获取数据,编译为小型压缩JSONS,然后发布到S3存储桶。从那里,数据被摄取到Snowflake中进行分析。到目前为止,我能够相当快地获取数据,并且有望作为替代方案。
我打算与RabbitMQ做类似的事情,但我想找到一个更好的替代方法,该方法可以无缝地执行此摄取过程,并帮助我避免在python代码中实现各种异常调用。
最佳答案
我的回答非常有主题意义,需要在现实世界中进行测试,并适应您的用例。
对于近乎实时的行为,我将使用logstash
带有 flex 搜索输入和短cron的
您可以通过输出到RabbitMQ来创建更多可调用的archi,并使用其他管道来监听队列并执行其他任务。
关于python - 将数据输入Elasticsearch和RabbitMQ的S3的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63514622/