Link to home
Start Free TrialLog in
Avatar of pvines
pvines

asked on

Scaling cloud base application with EC2, MQ, RDBMS/NOSQL, Ruby/Java

We are looking at developing a cloud (probably Amazon EC2) based application that might potentially scale to tens of thousands of small transactions per second via a RESTful API. The architecture we are looking at is to allow our client facing application to put transactions into a high performance message queue from which they will be processed asynchronously by background worker agents and logged into a database. The client facing application will probably be based on Ruby on Rails, while the backend will either be Ruby or Java.

We have been looking at using some of the EC2 services such as SQS, SimpleDB as basic building blocks as we were attracted by the scalability and performance promised by Amazon. We've done some initial testing and find that throughput performance is very poor. For example with SQS we've only been able to get around 1-2 transactions per second. Our initial testing shows we may have similar issues with SimpleDB.

We're now looking at some other options, including using an AMQP standards based messaging tools such as RabbitMQ. While using MySQL as a backend db is attractive we're also considering using a nosql solution such as MongoDB.

We'd be interested in any any ideas or feedback on the approach we are taking. We would also like to learn if anyone has any experience running an architecture like this in the cloud (in particular EC2).
ASKER CERTIFIED SOLUTION
Avatar of pg-expert
pg-expert
Flag of India image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of James Murrell
This question has been classified as abandoned and is closed as part of the Cleanup Program. See the recommendation for more details.