Мы разработали собственный протокол TCP для взаимодействия с клиентами iPhone через сокеты, и я хочу спланировать наш производственный сервер. Мы будем запускать наш сервер, написанный на erlang, на одном экземпляре debian EC2, а также, скорее всего, запускать mysql на отдельном экземпляре (я предполагаю, что это будет рекомендовано?).
Я ищу безопасные и сбалансированные соединения с нашим TCP-сервером, и смотрел на EC2 ELB, HAProxy, LVM и nginx. nginx, похоже, работает только по протоколу http, и, поскольку мы используем собственный протокол, я искал какие-то исходные данные для разработки такой системы. Мне также интересно, каковы будут последствия блокировки маршрутизатора / брандмауэра для провайдеров сотовых сетей.
Моя текущая идея заключалась в том, чтобы поместить все через порт 80 в ELB и направить его на TCP-сервер. Я не совсем уверен в ELB, поэтому мне было интересно:
Ну, ни haproxy, ни ELB не являются только HTTP; они оба будут выполнять произвольное проксирование TCP-соединения. Но зачем вам прокси? Вместо этого просто запустите балансировщик нагрузки L3; это намного чище. Это может не работать в AWS, но я бы назвал это ограничением AWS.