Remix.run Logo
fatal94 20 hours ago

What you're doing is fine for a homelab, or learning. But barring any very specific reason other than just not liking Kafka, its bad. The second that pattern needs to be fanned out to support even 50+ producers/consumers, the overhead and complexity needed to manage already-solved problems becomes a very bad design choice.

Kafka already solves this problem and gives me message durability, near infinite scale out, sharding, delivery guarantees, etc out of the box. I do not care to develop, reshard databases or production-alize this myself.

NewJazz 18 hours ago | parent | next [-]

Some people don't and won't need 50+ producers/consumers for a long while, if ever. Rewriting the code at that point may be less costly than operating Kafka in the interim. Kafka is also has a higher potential for failure than sqlite.

fatal94 17 hours ago | parent | next [-]

Ofc, and not everybody needs or cares for all the features Kafka has. Then use another known and tested messaging system. Use NATS or ZMQ. Or any cloud native pubsub system

My main point is, I have zero interest in creating novel solutions to a solved problem. It just artificially increases the complexity of my work and the learning curve for contributors.

umanwizard 15 hours ago | parent | prev [-]

Okay, then those people don’t have to use Kafka. What is your point?

NewJazz 15 hours ago | parent [-]

I was responding to someone who was responding to someone that wasn't using Kafka telling them to use Kafka. What's yours?

CyberDildonics 18 hours ago | parent | prev [-]

sqlite can do 40,000 transactions per second, that's going to be a lot more than 'homelab' (home lab).

Not everything needs to be big and complicated.