Comment by colinchartier
5 years ago
Such a server is 400$/mo, a backend developer that can confidently maintain kafka in production is significantly more expensive!
5 years ago
Such a server is 400$/mo, a backend developer that can confidently maintain kafka in production is significantly more expensive!
I think the point of interest was 32 cores to handle what sounds like 10 messages per second at most. That's not really a ton of throughput... It's certainly a valid point that an awful lot of uses cases don't need Twitter-scale firehoses or Google-size Hadoop clusters.
Ah, the database does a lot more than just pub/sub - especially since the high traffic pub/sub goes through redis. I guess my point was that we never regretted setting up postgres as the "default job queue" and it never required much engineering work to maintain.
For an example, it handles stripe webhooks when users change their pricing tier - if you drop that message, users would be paying for something they wouldn't receive.
It said nothing about the distribution of traffic. It might well be thousands and thousands of pub sub messages at some point of the day and 0 for others.
Fwiw I don't know the shape of the data, but I feel like you could do this with Firebase for a few bucks a month...
you 100% could, and this thread feels like the twilight zone with how many people are advocating for using a rdbms for (what seems like) most peoples queuing needs.
Dude you are seriously underestimating postgres' versatility. It does so many different things, and well!
10 replies →
Why should I rely on yet another microservice when I have PostgreSQL right there?
6 replies →
Does Firebase offer self-hosting these days?
What do you say to those who don't want Google to know their usage info?
1 reply →
But Kafka does significantly more.
And if your needs are simpler like in this case then there are dozens of smaller pub/sub/queue systems that you could compare this to.
Limit the types of server used to reduce system complexity. If you can have all your business state in the same place, ops are much easier.
Kafka does more for streaming data, but doesn't do squat for relational data. You always need a database, but you sometimes can get by without a queuing system.
Briefly what are some mandatory kafka use cases?
I would say postgres does much more. What use case can only Kafka handle?
It's that much on a popular cloud platform, you can buy this for 3-4 times that amount and use it for years.
Got a 128gb 32 core xeon workstation sitting under my desk off eBay and it was $400
That's not exactly a setup suitable for reliable production usage though.
Or rent it for a lot less at a traditional hosting company.
That's the job of a DevOps engineer not a backend developer attempted to be overworked.
It probably fits within the free tier limits of a managed pubsub service.