Diego Bernardes wrote:
> Anyone sugest anything better?

The overall approach sounds fine, but from your description it sounds 
like you're not exactly clear about what is talking to what. After the 
gprs modem connects and authenticates, does is expect to have the same 
TCP connection proxied through to another server? Does it submit framed 
messages over this TCP connection which you wish to put into a queue? Do 
you need to send any messages back to the modem, and if so, where do 
they come from? You need to be clear on the difference between 
synchronous protocols (strict request/response) and asynchronous.

Perhaps you should start simple. Build something with Gserver which 
accepts connection from a handful of modems and processes the messages, 
proving you have the right protocol information and logic. Then port it 
to Eventmachine if necessary to scale. But it might not be necessary; 
you could instead have 20 Ruby processes and have a simple TCP 
load-balancer in front like pen, so each process is only handling 500 
connections. http://siag.nu/pen/

As for RabbitMQ: if you can't get Ruby to talk to it, then that's a 
separate problem which you can solve separately (perhaps ask on a 
RabbitMQ list)

There are many other solutions for "can't lose data", for some 
definition of "can't lose". e.g. SQL database, couchdb, ...etc
-- 
Posted via http://www.ruby-forum.com/.