tags:

views:

142

answers:

3

I have a scenario where more than 100k users trying to update database concurrently through web application in struts ,hibernate . what is the best way to solve this.

This application is locally accessed within india bangalore.this site does not always have traffic,but only during sep to dec.

around 5k users hit the database.

we have two servers

+3  A: 

Farm it off to Amazon EC2 and S3. You are not ready (really). Once you are, the transition will be pretty simple. Look into OpenStack for when you want to tackle the challenge.

GalacticJello
Do you have experiences with OpenStack to share?
Thorbjørn Ravn Andersen
It's basically a repackaging of the Rackspace APIs, but with the support of Nasa, Dell, Citrix, etc. Cloud is where it is "at", especially in terms of the OP's current predicament. Amazon will get you pretty far, but you will come to a point where it makes sense to host the hardware yourself and enjoy the economies of scale and increased flexibility. Another nice thing about OpenStack is that it is Apache 2.0, and not just "open core". Keep a watch on it for the next few months. It's a game-changer.
GalacticJello
+2  A: 

I think you better make your application distributed.You can use Hadoop which is Opensource.If your not intending to make it distributed then to speed up your database you can try In-memory-db.

UPDATE:

I just saw an db implementation of apache for online transactions.So I'm just Posting the links in case you may need it. Apache Derby[Wiki,Related Question In SO]

Emil
A: 

You could put all concurrent requests to the persistent queue with JMS oslt and then process them in on one (or more) thread (or server) by pulling and processing request one by one.

Žygimantas