We've spent considerable amount of time over the last half year preparing to migrate our chat system to AWS EC2 servers. We're finally ready to start the transition (and identify any misconfigurations / new scaling concerns in the new environment).
As this will affect third-party developers significantly, I want to
a) make you aware
b) ask for suggestions to make this transition less painful for you
Our current rollout plans are as follows:
Migrate channels one-by-one on a whitelist basis, partners / staff who opt-in to the risks of using the new cluster
As our confidence increases that things are working correctly, slowly add more Twitch partners to the whitelist
Once all Twitch partners are on the whitelist, transition all channels to use the new servers
Currently, in order to determine what cluster and servers to connect to, you can use http://tmi.twitch.tv/servers?channel=brildum. You'll notice that it returns that my channel's cluster == "aws" and the servers list no longer uses IP, but DNS: "irc.chat.twitch.tv" (for raw tcp) and "irc-ws.chat.twitch.tv" (for websockets).
I recognize that for many of you, querying the servers list API on initialization of your bot may be a burden (particularly for very large bots). We could consider returning an invalid cluster message in response to JOIN if you've joined a channel on the wrong cluster.
Another note that you may have noticed, is that I did not mention anything about event chat. Our hope is that moving to EC2 will allow us to maintain a single chat cluster for all channels. This is a hypothesis we're planning to test before we migrate the very largest channels to the new servers, so hopefully that works out.
Other items of interest:
- irc.chat.twitch.tv supports 80, 6667 (no SSL) and 443, 6697 (SSL)
- irc-ws.chat.twitch.tv supports 80 (no SSL) and 443 (SSL)
- These changes do not affect group chat