Hello,

We have found that Pulsar standalone (which has zookeeper and bookie in same 
Java process as the broker) on a simple throughput test showed over 3 times the 
message throughput rate as did 3 separate processes (Zookeeper, 1 Broker, 1 
Bookkeeper) when deployed as pods in Kubernetes. All pods/containers ran on a 
single node as our test cluster just had a single node so only "virtualized" 
networking is involved. We found that containerization only had limited 
overhead when deploying Pulsar standalone with or without Kubernetes so the 
only difference we know about is that broker to bookie communication has to go 
via two Pods (Docker containers) on the same VM. We expected some overheads 
(network IP stack and extra context switching) but were really surprised by the 
> 3x throughput. Is there any architectural difference between Pulsar 
Standalone and separate Broker/Bookkeeper except for running in different 
processes? Such as direct communications (not over network sockets), sharing of 
data buffers or cache configuration that makes Pulsar standalone inherently 
faster?

Our second question is on production readiness of Pulsar Standalone. Is anyone 
using it in production if no fault tolerance (other than recovery on restart) 
is required? Or do people deploy a 1 node cluster which can be upgraded / 
managed more easily and scaled if needed?

Thanks in advance for your answers,
Andre

Andre Kramer
andre.kra...@softwareag.com<mailto:andre.kra...@softwareag.com>

Reply via email to