2 ms·
I think it depends but to add some noise to the discussion: People really abused kafka: https://www.confluent.io/en-gb/blog/publishing-apache-kafka-new-york-ti
by KaiserPro 2y ago
I think it depends but to add some noise to the discussion:
People really abused kafka: https://www.confluent.io/en-gb/blog/publishing-apache-kafka-new-york-times/ https://www.confluent.io/en-gb/blog/publishing-apache-kafka-... like really abused it.
Kafka is hard to use, has lots of rough edges, doesn't scale all that easily, and isn't nice to use as a programmer. but you can make it do lots of stupid shit, like turn it into a database.
People tried to use message queues for synchronous stuff, or things that should be synchronous, and realised that queuing those requests is a really bad idea. I assume they went back to REST calls or something.
Databases are much much faster now, with both SSD, design and fucktonnes of ram. postgres isn't really the bottleneck it once was.
SQS and NATS cover most of the design usecases for pure message queues (as in no half arse RPC or other feature tacked in) and just works.
Message queues are brilliant, I use them a lot, but only for data processing pipelines. But I only use them to pass messages, not actual data. so I might generate a million messages, but each message is <2k
could I use a database? probably, but then I'd have to make an interface for that, and do loads of testing and junk.