3 ms·
Why should I pay for this AWS design decision?
- gregstoll 18y agoThis does seem a little unfair, but I'm not sure what the alternative is, since it does cost resources to check if the queue is empty.
- Tamerlin 18y agoAn event-based model would have done the trick. Register a listener to a message queue, and when a message arrives, the queue handler sends it an event. It would make things a little more complicated, but it also imposes less load on the servers on both sides by making polling unnecessary.
- bayareaguy 18y agoI agree. SQS's design has its uses and S3's ordered key-space makes it easy to create queue structures without this behavior if that's what you think you want. The thing I too would like to see from AWS would be some kind of callback api where an HTTP request would be sent to an EC2 instance when something useful happens in S3. That would allow you to dispense with polling entirely.
- seregine 18y agoYou should pay to check whether the message is available because your requests cost Amazon money. That way, if you don't care to poll frequently, you won't be forced to pay some average price that's driven up by other users who do need to poll often. In fact, this is more fair. Disclaimer: I used to work at AWS, though it was 2+ years ago and I didn't work on SQS.
- jonallanharper 18y agoIt is fair. If it wasn't fair, it doesn't matter ... it's their product, and it doesn't infringe on anyone else's life/liberty/property. They are also free to trade their services under whatever conditions they wish. Currently that is ... may not be long before a bunch of idiot collectivists (like this blogger) seek to curb others freedom b/c of a lack of understanding of basic economics and an irrational desire for everyone to be altruistic. Let me guess dear blogger ... I bet Amazon's being "greedy" as well. Oh the humanity!
- kirubakaran 18y agoAmazon Shrugged?
- marcus 18y agoSimple answer you don't have to, just don't use SQS. If Amazon did the check internally and queried all servers for you the cost of each request would have been much larger and they would have scaling problems. This approach is the most easily scalable. And even polling every second costs 8.64 cents per day or 2.59 USD a month, stop bitching and get to work.
- yarek 18y agoYou always have the option of implementing SQS yourself. It might cost you a fair bit more of time, money and energy. Much, much more than the few extra cents you'd pay.
- pchristensen 18y agoBecause you're a free customer who can choose whether or not to use the service?
- deleted 18y ago[deleted]