Hi,

I am noticing that the users@pulsar.a.o is turning into a ANNOUNCEMENT list, and not really an active forum to helpful users. Is there some other forum where this help is happening, or is this community only consisting of the developers of the product?

Cheers
Niclas


-------- Original Message --------
Subject: Pulsar Functions Lifecycle?
Date: 2023-04-26 12:55
From: Niclas Hedhman <nic...@hedhman.org>
To: us...@pulsar.apache.org
Reply-To: us...@pulsar.apache.org

Hi,

I have been using Pulsar quite successfully for a bit more than a year now, and quite happy with it.

Now, I would like to streamline my app a bit and use Pulsar Functions (on 2.11.x), but I need a little bit of guidance.

1. IIUIC, I have the option (among other) to run my functions (trusted) inside the same JVM as the Pulsar Broker itself, by choosing "Run function workers with brokers" and the "thread runtime". And if I want to run on the same VM as the broker, but in separate OS process, I simply follow "process runtime". Is that correct? I don't need K8s to run functions (I have not set up K8s)?


2. Lifecycle of functions is very unclear to me.
   a. How many instances are created?
   b. One per request?
   c. One per key?
   d. Are instances pooled?
   e. Do the functions need to be thread-safe?
   f. Can I control it?

3. Deployment
   a. When deploying with "pulsar-admin functions create", do I need to
      do that on each broker instance, or just once? What happens if my
      Ansible tries to do that in parallel on all instances?

   b. I assume that "pulsar-admin functions update" will let all
      functions complete before killing the thread/process. Right?


I guess there will be more questions once I dive deeper.


TIA
Niclas

Reply via email to