I Recommend My Clients Not Use KSQL and Kafka Streams
jesse-anderson.com
jesse-anderson.com
In fact, I try my best to not use Kafka at all. Most of the applications don't have that kind of load and adopting Kafka leads to heavyweight architecture.
In my experience, it is easy to emulate Kafka topic behaviour on modern SQL databases (for example LISTEN/UNLISTEN/NOTIFY in PostgreSQL), rather than doing whole gymanstic of KSQL layer on Kafka beast and still fall short of SQL2016 spec by a large margin. I always look for databases which application uses as a primary DB with support for Streams/CDC (Change Data Capture) either natively OR it is easy to implement thin layer over the DB within 2-3 days.