保护卡夫卡免受洪水侵袭

时间:2015-02-18 10:45:27

标签: security apache-kafka microservices

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

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

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

这不是卡夫卡虫,但我如何保护它免受潜在的洪水?

3 个答案:

答案 0 :(得分:1)

升级到Kafka 0.9并启用Quotas

答案 1 :(得分:0)

你需要对服务进行一些限制,以免淹没卡夫卡。其中一个选择是使用Apigee。

答案 2 :(得分:0)

确实有了Apigee,你可以限制响应。这可以通过两种方式完成;

  1. 使用' Spike Arest',可以随着时间的推移平滑请求,例如,如果您定义每秒的请求数量,则会在几毫秒内进行平滑处理,并且当每分钟定义一定数量的reuqests时每秒更顺畅。
  2. Qouta定义每分钟,每天等的最大请求数量。之后请求被拒绝。
  3. Apigee还提供并发费率'这样做的政策;跟踪并发呼叫的数量,并在发送更多内容时拒绝。 (HTTP 503)。
  4. 您可能会喜欢: http://apigee.com/docs/api-services/content/comparing-quota-spike-arrest-and-concurrent-rate-limit-policies

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

    希望这会有所帮助。

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