https://kafka.blog/posts/scaling-down-apache-kafka/
It actually runs well in such scenarios, it's just the default settings assume you're going to be running at large scale because that's what it's designed to do.
As other people say, Kafka is overkill for smaller use cases, but using it sets you up to scale if you need it and it gets you thinking in a good way architecturally.
If on the other hand, you want an event store, it might be worth using. You can build event stores on top of lots of different data stores but you'll have to manage the edge cases your self usually. Kafka has them built in.
That said, Kafka is pretty complex to operate. I'd only start using it when it became obvious it was the solution to your problem or there was some external factor pushing you to use it.
That aside, if you're not sure if you should be using it I'm going to guess the answer is, "No you shouldn't". It's very cool tech but most likely overkill for whatever you're doing. Also, until recently securing it was a particular pain due to lack of TLS and authentication (I think this may have been resolved now).
I want to avoid deploying a piece of software now that we'll need to swap out in a year since it does not provide what we need anymore, though I suppose that is a natural part of scaling.
What would you recommend as an alternative to Kafka that does adequate real-time processing? The real-time-ness of it is important for our use-case. Maybe even some kind of time-series database system could work.
Some of our stuff is on the GCP, so have also been investigating Pub/Sub and DataFlow, which seem more viable since we don't have the up-front cost of hardware and maintenance but pay for resources used. If we don't use much, we should not pay much.
I've been working closely with librdkafka for a few months now and find it fast and reliable. Many companies rely on it in production. In addition to the Confluent clients, Blizzard has also developed a client that wraps librdkafka for nodejs (which they use in production).
Disclaimer: I work at Confluent.
And even from the same stable as Kafka, there's Samza[2]
[1] - http://www.espertech.com/esper/ [2] - https://speakerdeck.com/ept/turning-the-database-inside-out-...