I am building a game which has rooms with clients connected. Each room has it's own websocket.
At the end of the game, some calculation needs to be made about who won and it's a complicated math CPU intensive one and the result will be sent to the websocket so there is no REST request waiting.
I am thinking of implementing the game logic in node.js and then make a second REST api in another faster multithreaded language (go/Java/c#)? to make the computation and return the result to node.js.
Question 1) I read a lot of examples about using redis or rabbitmq but why do I need this? Just in case the server handling the computations gets flooded?
Question 2) Do I need this or should I just use a language that has multithreaded support and be done with it since it's a simpler approach?