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