【问题标题】:Protect Kafka against flood保护卡夫卡免受洪水侵袭
【发布时间】:2015-04-19 08:06:32
【问题描述】:

我在生产中使用 Kafka。许多服务向其中发送和读取消息。

一切正常,但我在一项服务中遇到了错误。 出于一个奇怪的原因,它每秒向 Kafka 发送数百万条消息。

由于这个错误,我的 Kafka 崩溃了。

这不是 Kafka 错误,但我如何保护它免受潜在的洪水影响?

【问题讨论】:

    标签: security apache-kafka microservices


    【解决方案1】:

    您需要对服务进行一些限制,以免淹没 Kafka。一种选择是使用 Apigee。

    【讨论】:

      【解决方案2】:

      确实,您可以使用 Apigee 限制响应。这可以通过两种方式完成;

      1. 使用“Spike Arest”,它会随着时间的推移平滑请求,例如,如果您定义每秒的请求量,它会在毫秒内平滑,并且当每分钟定义的请求量时,它会更平滑每秒。
      2. Qouta 定义了每分钟、每天等的最大请求量。在此之后请求被拒绝。
      3. Apigee 还提供了“并发率”政策,可以做到这一点;跟踪并发呼叫的数量,并在发送更多呼叫时拒绝。 (HTTP 503)。

      您可能喜欢: http://apigee.com/docs/api-services/content/comparing-quota-spike-arrest-and-concurrent-rate-limit-policies

      另外,如果您想保持自定义,请查看 Volos 或 Apigee 127,这也是 Apigee 创建的一个很棒的开源项目。

      希望这会有所帮助。

      实际上,最后一点;我会解决根本原因;为什么你会收到 1mio 请求?或者这是预期的行为?

      【讨论】:

        【解决方案3】:

        升级到 Kafka 0.9 并启用Quotas

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-02-18
          • 1970-01-01
          • 1970-01-01
          • 2021-01-20
          • 1970-01-01
          • 2012-03-03
          相关资源
          最近更新 更多