自动缩放 worker/daemon 作为 Kafka 消费者
Auto scaled worker/daemon as Kafka consumer
我们计划在 Java 中有一个 Kafka 消费者作为守护进程,它需要嗅探 Kafka 的消息,但想知道我们如何自动缩放这个守护进程。请为此提出最佳设计
通过这个 AWS 工作人员,这是一个好的解决方案吗?
我假设您在谈论 EBS Worker 环境。在 kafka 的情况下,EBS worker 环境在 SQS 上工作将无济于事。
对于为 kafka 队列定义的消费者,您将需要定义自定义自动缩放策略。除了由 ec2 指标、cloudwatch 和 ASG 驱动的开箱即用扩展外,您可能还需要向 cloudwatch 发布更多指标,这将允许您定义自动扩展的触发器。使用 cloudwatch 警报,您可以配置可以执行自动缩放的支持 lambda 函数。
当然以上只是实现缩放的简化方法,您可以实现适合您环境的东西。
队列长度(消息消耗率)是考虑缩放的一个很好的指标,您应该根据队列长度进行缩放。这应该是基于 CPU、IO 和其他标准的扩展的补充。
我们计划在 Java 中有一个 Kafka 消费者作为守护进程,它需要嗅探 Kafka 的消息,但想知道我们如何自动缩放这个守护进程。请为此提出最佳设计
通过这个 AWS 工作人员,这是一个好的解决方案吗?
我假设您在谈论 EBS Worker 环境。在 kafka 的情况下,EBS worker 环境在 SQS 上工作将无济于事。
对于为 kafka 队列定义的消费者,您将需要定义自定义自动缩放策略。除了由 ec2 指标、cloudwatch 和 ASG 驱动的开箱即用扩展外,您可能还需要向 cloudwatch 发布更多指标,这将允许您定义自动扩展的触发器。使用 cloudwatch 警报,您可以配置可以执行自动缩放的支持 lambda 函数。 当然以上只是实现缩放的简化方法,您可以实现适合您环境的东西。
队列长度(消息消耗率)是考虑缩放的一个很好的指标,您应该根据队列长度进行缩放。这应该是基于 CPU、IO 和其他标准的扩展的补充。