To be fair building a scalable chat server is very difficult but not
for any of the reasons you suggest.
singl
1) Why would you ever allow more than say 3-5 messages/second from a
client? At 200 clients/sec doing this your chat room would become
useless so would likely limited again.
Even at that point you could have a channel/room and have strong
consistency. This would do well up to a few hundred thousand chat
messages/second/room ... and seriously who is reading this chat room?
If you want to handle high contention the easiest way is ... don't.
Instead put boundaries in your problem and try to keep everything
within a boundary single threaded. A real world example of this.
Instrument in a financial market.
Cheers,
Greg
--
Studying for the Turing test