Now that we have covered the overall architecture and terminology of Apache Pulsar, let’s start using it. For local development and testing, I recommend running Pulsar inside a Docker container on your own machine, which provides an easy way to get started with Pulsar with a minimal amount of time, effort, and money. For those of you who would prefer to use a full-size Pulsar cluster, you can refer to appendix A for more details on how to install and run one inside a containerized environment, such as Kubernetes. In this chapter, I will walk you through the process of sending and receiving messages programmatically using the Java API, starting with the process of creating a Pulsar namespace and topic using Pulsar’s administrative tools.