Redis 与 RabbitMQ 作为 Logstash 和 elasticsearch 之间的数据代理/消息传递系统 [英] Redis Vs RabbitMQ as a data broker/messaging system in between Logstash and elasticsearch

查看:40
本文介绍了Redis 与 RabbitMQ 作为 Logstash 和 elasticsearch 之间的数据代理/消息传递系统的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们正在定义一个架构,由安装在各种机器上的 Logstash 发送器收集日志信息,并集中索引一个 Elasticsearch 服务器中的数据,并使用 Kibana 作为图形层.我们需要在 Logstash 托运人和 elasticsearch 之间建立一个可靠的消息传递系统来授权交付.在选择 Redis 而不是 RabbitMQ 作为 Logstash 托运人和 elasticsearch 之间的数据代理/消息传递系统时,应考虑哪些因素?

We are defining an architecture to collect log information by Logstash shippers which are installed in various machines and index the data in one elasticsearch server centrally and use Kibana as the graphical layer. We need a reliable messaging system in between Logstash shippers and elasticsearch to grantee the delivery. What factors should be considered when selecting Redis over RabbitMQ as a data broker/messaging system in between Logstash shippers and the elasticsearch or vice versa?

推荐答案

在评估了 Redis 和 RabbitMQ 之后,我选择 RabbitMQ 作为我们的代理,原因如下:

After evaluating both Redis and RabbitMQ I chose RabbitMQ as our broker for the following reasons:

  1. RabbitMQ 允许您使用内置的安全层,通过使用 SSL 证书来加密您发送给代理的数据,这意味着没有人会嗅探您的数据并访问您的重要组织数据.
  2. 莉>
  3. RabbitMQ 是一款非常稳定的产品,可以每秒处理大量事件和许多连接,而不会成为瓶颈.
  4. 在我们的组织中,我们已经使用了 RabbitMQ,并且对使用它有很好的内部知识,并且已经准备好与厨师集成.

关于扩展,RabbitMQ 有一个内置的集群实现,除了负载均衡器之外,您还可以使用它来实现冗余代理环境.

Regarding scaling, RabbitMQ has a built in cluster implementation that you can use in addition to a load balancer in order to implement a redundant broker environment.

我的RabbitMQ集群是主动主动还是主动被动?

现在是使用 RabbitMQ 的弱点:

Now to the weaker point of using RabbitMQ:

  1. 大多数 Logstash 托运人不支持 RabbitMQ,但另一方面,最好的一个叫 Beaver,有一个实现,可以毫无问题地将数据发送到 RabbitMQ.
  2. Beaver 在其当前版本中使用 RabbitMQ 的实现在性能上有点慢(就我而言),并且无法处理来自一台服务器的 3000 个事件/秒的速率,并且服务有时会崩溃.
  3. 现在我正在着手修复,以解决 RabbitMQ 的性能问题并使 Beaver 托运人更加稳定.第一个解决方案是添加更多可以同时运行的流程,并为托运人提供更多权力.第二种解决方案是将Beaver改为异步发送数据到RabbitMQ,理论上应该会快很多.我希望我能在本周末之前完成这两种解决方案的实施.

您可以在此处关注问题:https://github.com/josegonzalez/python-beaver/issues/323

You can follow the issue here: https://github.com/josegonzalez/python-beaver/issues/323

并在此处检查拉取请求:https://github.com/josegonzalez/python-beaver/pull/324

And check the pull request here: https://github.com/josegonzalez/python-beaver/pull/324

如果您有更多问题,请随时发表评论.

If you have more questions feel free to leave a comment.

这篇关于Redis 与 RabbitMQ 作为 Logstash 和 elasticsearch 之间的数据代理/消息传递系统的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆