1) Printing bills is very expensive 2) Credit card payment networks are also very, very expensive (2.5-3.5% or more of every transaction) 3) Billions of people can't get credit cards. 4) How do you send printed bills around the world?
1,221 karma · joined February 15, 2011
1) Printing bills is very expensive 2) Credit card payment networks are also very, very expensive (2.5-3.5% or more of every transaction) 3) Billions of people can't get credit cards. 4) How do you send printed bills around the world?
And for the those cases, where it is a big deal, the next two major milestones on the roadmap aim to work around that issue, namely hot containers and streaming input. https://github.com/iron-io/functions#roadmap . Once that's in place, it should perform similar to any API.
That said, you don't need to think about Docker if you don't want to and an IronWorker can be a few lines of code too, for example:
https://github.com/iron-io/dockerworker/blob/master/ruby/hel...
Or node: https://github.com/iron-io/dockerworker/blob/master/node/hel...
And http://github.com/lib/pq for Postgres.
There were less endpoints back then, but you can get the idea. The most heavily used operation being queuing up tasks/jobs.
I'm not sure about writing a front end in Go, there's not a lot in terms of UI frameworks and Iron.io front end (HUD) is still in Rails so I can't really say much about it.
And yes, work should be idempotent, as is the case with any queue you use.
Also, this is on a much different scale than a small queue on a mobile app like you are comparing it to. A queue on a mobile app doesn't really need elasticity or scale. But when you're dealing with millions/billions of messages, the complexity is on a whole different level. And providing the ability to scale/grow with zero effort is extremely compelling.
Now if you had millions of users of your mobile app and they all sent messages for processing, an elastic, scalable message queue would be a godsend.