When we talk about Apache Pulsar’s performance, we are usually referring to the throughput and latency associated with message writes and reads. Pulsar has certain configuration parameters that allow you to control how the system handles message writes or reads. I’d like to start a series to discuss how this type of performance tuning works in Apache Pulsar. This is the first post in that series.
In this post, I’ll try to give you a deep explanation of Apache Pulsar’s architecture and also describe its storage layer, Apache BookKeeper™. Knowledge of BookKeeper is essential to the Apache Pulsar tuning process.
Before we begin, you will need to become familiar with some basic concepts. At a minimum, you need to know how messages are sent and received (that is, produced and consumed) in Apache Pulsar.