Hi,

I am starting to look at Storm as a possible candidate for a writing the business logic for a real time game server and I am interested in your opinion and if you think this would be a good use case for Storm. Basically here is a rough view / flow of the architecture that I want to use:

Game Client -> UDP/UDT -> Game Server-> Storm (runs business logic via rules written in different languages (C, C++, Java (JDBC), C#, LUA, Python) -> Server -> UDP/UDT -> Client.

The reasons that I want to use Storm are:

 *      Scalable
 *      Parallel processing
 *      Guarantee of at-least-once message delivery
 *      Writing rules in different languages.
 *      Fail-over

Regarding scalability, I plan to start with everything running on one box at first, but with the option to break the work into different nodes as the number of clients scales up, so ideally, this solution should perform well with only one node, when there are 10 clients, and scale well as the number of clients increase and I add more nodes.

Also, it seems Storm uses TCP via ZeroMQ by default -Is that right? And if so, can it be switched to use UDP or UDT instead, perhaps by replacing ZeroMQ with Netty?

Please let me know your thoughts and if this architecture is a good idea or not.

Regards,

Joe

Reply via email to