java - 自动缩放工作进程/守护进程作为 Kafka 消费者

标签 java amazon-ec2 apache-kafka kafka-consumer-api amazon-elastic-beanstalk

我们计划在 Java 中使用 Kafka 消费者作为守护进程,它需要嗅探 Kafka 中的消息,但想知道如何自动缩放该守护进程。请为此提出最佳设计

通过这个AWS工作人员,这是一个好的解决方案吗?

最佳答案

我假设您正在谈论 EBS Worker 环境。在 SQS 上运行的 EBS 工作环境对于 kafka 没有帮助。

对于为 kafka 队列定义的消费者,您需要定义自定义自动缩放策略。除了由 ec2 指标、cloudwatch 和 ASG 驱动的开箱即用扩展之外,您可能还需要向 cloudwatch 发布更多指标,这将允许您定义自动扩展的触发器。使用 cloudwatch 警报,您可以配置支持 lambda 函数来执行自动缩放。 当然,以上只是实现扩展的简化方法,您可以实现适合您环境的东西。

队列长度(消息消耗率)是考虑扩展的一个很好的指标,您应该根据队列长度进行扩展。这应该是基于 CPU、IO 和其他标准的扩展的补充。

关于java - 自动缩放工作进程/守护进程作为 Kafka 消费者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37369261/

相关文章:

amazon-web-services - 将 SSL 证书(从 Network Solutions)导入 AWS

amazon-web-services - AWS Elastic Beanstalk Tomcat 适用于 .war 但不适用于 .zip

java - 'finally'如何阻止android运行

java - 使用 Jackson 根据根名称将节点反序列化为子类型

java - 如何使用Scanner取出奇数行并按顺序排列?

java - 动态更改持久性单元 - JPA

elasticsearch - Logstash Elasticsearch 输入 - 仅运行一次?

java - 等待 kafkaTemplate 待处理的 future

apache-kafka - 弗林克 : join file with kafka stream

apache-kafka - Kafka Stream Reducer 不减少记录