Бессерверная структура для триггера - PullRequest
0 голосов
/ 07 августа 2020

Я ищу бессерверный фреймворк (бесплатно), где я могу создать триггер 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? Заглянул в кубелесс показалось сложным. Деление не поддерживает python.

Ответы [ 2 ]

0 голосов
/ 24 августа 2020

Похоже, вы хотите запускать функции на основе событий Kafka. Правильно?

Если так, вы всегда можете попробовать OpenFaas. Это поможет вам начать работу с OpenFaas на Kubernetes . А затем вы можете запускать функции, опубликованные в темах Kafka, используя коннектор Kafka .

0 голосов
/ 07 августа 2020

Я мало знаю о Nuclio, но описанный вами сценарий выглядит возможным с Knative.

Самый простой способ: вы можете создать Knative Service для своего потребителя. Для части Kafka вы можете использовать KafkaSource , чтобы получить события в системе Knative Eventing. В вашем KafkaSource вы можете указать ему вызывать Knative Service, когда происходит событие, исходящее от Kafka.

Это самый простой способ. Если вам нужны более продвинутые функции, есть также поддержка фильтрации на основе типов событий или наличия нескольких потребителей, подписанных на события, и другие функции.

Red Hat Knative Tutorial имеет раздел для бессерверной обработки событий с Кафкой.

...