【问题标题】:Serverless framework for trigger触发器的无服务器框架
【发布时间】:2020-11-27 12:13:15
【问题描述】:

我正在寻找一个无服务器框架(免费),我可以在其中创建一个 kafka 触发器,并在触发时调用一个 kube 函数(python)

我尝试过 nuclio,但问题是我的 kafka 版本更高,它们不支持高于 2.4 的版本。

我想要类似的东西:

apiVersion: "nuclio.io/v1beta1"
kind: "NuclioFunction"
spec:
  runtime: "python:3.6"
  handler: NuclioKafkaHandler:consumer
  minReplicas: 1
  maxReplicas: 1
  triggers:
    myKafkaTrigger:
      kind: kafka-cluster
      attributes:
        initialOffset: earliest
        topics:
          - nuclio
        brokers:
          - kafka-bootstrap:9092
        consumerGroup: Consumer

还有一个 kube 函数,例如:

def consumer(context, event):
    context.logger.debug(event.body)
    print(event.trigger.kind)

就像这两个文件一样简单,我已经有 kafka 集群,所以我只想触发它。

除了 nuclio,还有哪些可能的替代品?我看着 kubeless 似乎很复杂。 Fission 不支持 python。

【问题讨论】:

    标签: serverless-framework knative openfaas kubeless kubernetes-fission


    【解决方案1】:

    我对 Nuclio 了解不多,但你描述的场景看起来可以使用 Knative。

    最简单的方法是,您可以为您的消费者创建一个Knative Service。对于 Kafka 部分,您可以使用 KafkaSource 将事件导入 Knative Eventing 系统。在您的 KafkaSource 中,您可以告诉它在有来自 Kafka 的事件时调用 Knative Service。

    以上是最简单的方法。如果您需要更高级的功能,还支持基于事件类型进行过滤或让多个消费者订阅事件等更多功能。

    Red Hat 的 Knative Tutorial 有一个部分用于使用 Kafka 进行无服务器事件。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-31
    • 1970-01-01
    • 2021-09-15
    • 1970-01-01
    相关资源
    最近更新 更多