Not only are TCP connections not 100% reliable, EC2 instances are not either. They can disappear at any time (and believe me, they sometimes do). The internal IP address of an instance is also subject to change (e.g. If it reboots).
If you use an Elastic IP address, connections from outside the AWS data center (e.g. The chat clients) will have a stable (set of) IP's to connect to. However, using Elastic IP's to communicate between servers is relatively slow as the connection is routed outside of the AWS firewall and then back in (last time I checked anyhow).
I think Amazon SQS (simple queue system) can help. You create a message queue for each server. When a message is received, the server places the message in every server's queue.
Server's poll the queue for new messages frequently. If a server grabs a message directed to a user not connected to it, the message is ignored, otherwise delivered.
I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.