Simple Sourcing is designed to take advantage of the horizontally scalable deployment model of Kafka Streams. A typical Simple Sourcing implementation will consist of multiple EventSourcedApp stream processing instances, each of them running in their own JVM process.

A client application such as a web service communicates with these Simple Sourcing instances via the CommandApi client API. The EventSourcedClient DSL provides a simple mechanism to create instances of the CommandApi. Communication between the client and the Simple Sourcing instances takes place via Kafka. Any Java application can be a simple sourcing client, it just needs to be able to access the same Kafka cluster.

This deployment model allows independent scaling of the web and the stream processing layers.