I am developing a web application in Scala. This is a simple application that will receive port data from clients (JSON or ProtoBufs) and do some calculations using the database server, and then respond to the client with a JSON / Protobuf object.
This is not a very heavy application. 1000 lines of code max. It will create a stream for each client request. The time it takes right now between receiving a request and a response is 20 to 40 ms.
I need advice on what equipment / installation should be used to serve 3000+ such requests per second. I need to purchase equipment for my data center.
Anyone who has experience deploying Java applications to scale, consult. Should I use one large box with 2 - 4 Xeon 5500 with 32 GB of RAM or several smaller machines.
UPDATE - we do not have many customers. 3 to 4 of them. Requests will be from these 3 of them.
source share