2017-04-03 166 views
2

是否可以将AWS Lambda与Apache Kafka集成? 我想把一个消费者放在一个lambda函数中。当消费者收到消息时,执行lambda函数。Kafka + AWS lambda

+0

您真的应该考虑AWS Kinesis,它与Kafka相当,并且本地与Lambda集成。 – wanghq

回答

2

是的,这是很可能在AWS lambda函数卡夫卡消费者。

但是请注意,您将无法调用使用某种形式的通知拉姆达。您将不得不轮询卡夫卡话题。而最简单的方法可以是使用计划的Lamda

3

这里是AWS article on scheduled lambdas

由于您的Kafka安装将在VPC中运行,因此最佳做法是将您的Lambda配置为在VPC内运行 - 这将简化运行Kafka的EC2实例的安全组配置。

Here是配置lambda表达式在一个VPC运行AWS博客文章。

4

继续阿拉法特的观点。我们已经成功构建了一个使用AWS Lambdas从卡夫卡消费的基础设施。以下是一些疑难问题:

  • 确保在消费时持续批量和提交。
  • 如果要将批次存储到s3,请确保清理文件描述符。
  • 如果您要将批次转发到其他服务,请确保清理变量。 AWS Lambda中的变量缓存可能导致内存溢出。
  • 一个好主意是检查你有多少时间留给而从拉姆达的context对象,并给自己一些回旋余地做可能不会被读取到,除非你一个文件你在消费填充缓冲东西致电close()

我们使用的是Apache气流进行调度。我听说Cloudwatch也可以做到这一点。