Seems like a lot of what I read about Kafka really makes it sound like using it is quite, well, Kafkaesque Why do so many engineers end up having such a struggle with an event sourcing system, yet the system itself remains highly popular I don’t know. I theorize the following: - Its flexible enough to do things like receive events (messages) and sending downstream events from those received - it can ingest events fas…
Kafka as an Antipattern
31–40 of 102 posts
Re: Kafka as an Antipattern
#32It seems a lot of the complaints weren't about kafka itself, but rather seemed to stem from internal communication problems. Custom kafka message headers could very well be custom http headers, and the problem is the same. Kafka is just coincidental. Looking at the volume though, kafka is overkill. They most likely could have just used the database and reaped the benefits of doing everything in a single transaction,…
>small scale kafka, though. It's conceptually great to have everything work off of logs, but kafka does add a non trivial operational burden. does something like that exist ???
Re: Kafka as an Antipattern
#33Earlier quoted context omitted.
Yes. For perspective, that's about one message every ten seconds.
Sorry for the naivety/not obvious from the comments: is that too much or too little? (I've used RabbitMQ much more than Kafka.)
For a message every 10 seconds, its use is ... hmm. It wouldn't be in my top 50 choices.
edit: and to be clear, I'm a huge fan of kafka: it sat there and silently just worked. It was great!
Re: Kafka as an Antipattern
#34Some morons even write books and blog posts about this. The funny thing is this sort of shit is done in the name of scale, but the big folks never operate this way. Large scale infrastructures actively disdain keeping buffers and state in the middle of the request flow. They cannot afford the cost and latency of such systems. They do it the sane way[1].
[1] https://www.usenix.org/conference/osdi23/presentation/saokar
Re: Kafka as an Antipattern
#35Re: Kafka as an Antipattern
#36It seems a lot of the complaints weren't about kafka itself, but rather seemed to stem from internal communication problems. Custom kafka message headers could very well be custom http headers, and the problem is the same. Kafka is just coincidental. Looking at the volume though, kafka is overkill. They most likely could have just used the database and reaped the benefits of doing everything in a single transaction,…
>small scale kafka, though. It's conceptually great to have everything work off of logs, but kafka does add a non trivial operational burden. does something like that exist ???
Re: Kafka as an Antipattern
#37I've worked at two large companies now with a mature managed Kafka offerings. The 'platform' engineering team handles all of the engineering, implementation, security and compliance, upgrades, observability etc. and have self-service onboarding with lots of recipes and sample integrations. My team moves about 5B messages a day through two topics and we're not putting a dent in the overall volume. It just enables use…
Re: Kafka as an Antipattern
#38Earlier quoted context omitted.
Yes. For perspective, that's about one message every ten seconds.
Sorry for the naivety/not obvious from the comments: is that too much or too little? (I've used RabbitMQ much more than Kafka.)
If I was to judge that at work, my first thought would be that one of our busier postgres clusters with 2 read replicas is chugging through some 2-3k transactions per second without really needing much tuning or rather specialized hardware. The more ETL-oriented clusters are capable of processing some 100M - 200M rows per second when chugging through large queries, and these are just simple 4 core VMs again on not really specialized hardware. And postgres would parallelize these queries more if you gave it more cores and the queries aren't horrible.
At 7500 records a day or 3 million a year, you wouldn't be able to generate enough data to make one of these databases sweat over many years.
Hate me as a DBA, but write some good queries for whatever you're doing and run those in a cronjob at that scale.
Re: Kafka as an Antipattern
#39It seems a lot of the complaints weren't about kafka itself, but rather seemed to stem from internal communication problems. Custom kafka message headers could very well be custom http headers, and the problem is the same. Kafka is just coincidental. Looking at the volume though, kafka is overkill. They most likely could have just used the database and reaped the benefits of doing everything in a single transaction,…
>small scale kafka, though. It's conceptually great to have everything work off of logs, but kafka does add a non trivial operational burden. does something like that exist ???
Writing a distributed, scalable system is really hard, and beyond the API, that is the real value for kafka
Re: Kafka as an Antipattern
#40For those who came here for Franz Kafka, this article and posts are about Apache's "distributed event store and stream-processing platform". https://en.wikipedia.org/wiki/Apache_Kafka