Erlang 提取、转换、加载兔子?

Erlang 提取、转换、加载兔子?,erlang,rabbitmq,etl,Erlang,Rabbitmq,Etl,出于性能原因,我经常做的事情之一是将SQL数据转换为缓存和基于文档的存储。我不希望我的前端应用程序访问我的数据库,所以我有高速缓存解决方案,以及高效的Solr和其他解决方案 我使用RabbitMQ作为中央通信中心来实现这个ETL流,它看起来是这样的:后端应用程序向Rabbit发送一条消息,其中包含新数据或对现有数据所做的更改。然后我有一个node.js脚本,它使用队列,生成小批量数据,并填充所有必要的系统:Redis、Mongo、Solr等 然而,我想知道是否有更好的方法来做到这一点。也许Rab

出于性能原因,我经常做的事情之一是将SQL数据转换为缓存和基于文档的存储。我不希望我的前端应用程序访问我的数据库,所以我有高速缓存解决方案,以及高效的Solr和其他解决方案

我使用RabbitMQ作为中央通信中心来实现这个ETL流,它看起来是这样的:后端应用程序向Rabbit发送一条消息,其中包含新数据或对现有数据所做的更改。然后我有一个node.js脚本,它使用队列,生成小批量数据,并填充所有必要的系统:Redis、Mongo、Solr等

然而,我想知道是否有更好的方法来做到这一点。也许Rabbit有某种脚本支持来为队列创建erlang逻辑

然而,我想知道是否有更好的方法来做到这一点。也许Rabbit有某种脚本支持来为队列创建erlang逻辑

没有。这只是一个消息排队系统

就我个人而言,我认为你目前的设计听起来不错

我唯一想知道的是,您的每个目标系统是否都有自己的队列。这样,它们中的任何一个都可以下降,而不会影响其他人

我可能会这样做:

  • 后端生成数据消息并通过RMQ发送
  • RMQ配置有扇出交换,每个目标系统有一个绑定队列
  • 每个系统在自己的队列中接收消息

否则,你说的对我来说是对的

你知道有什么其他工具可以补充当前系统的功能吗?感觉太粗糙了。ETL工具有几十种,如果不是几百种的话。不过,这完全取决于你要去/从哪个系统出发。就个人而言,我是上述通用应用程序开发方法的粉丝。但是,对于更大的“企业”集成和数据仓库,它更多地涉及到更昂贵的工具