Решение проблемы downtime'а хостинга
От: MozgC США http://nightcoder.livejournal.com
Дата: 25.12.07 00:31
Оценка:
Здравствуйте,
Не знал как лучше назвать тему, лучше опишу проблему. Компания занимается поставкой запчастей, есть сайт, есть сотни клиентов которые на этом сайте видят всю нужную информацию в реальном времени. Также клиенты на сайте добавляют заказы. Программа в компании забирает заказы с сайта через веб-сервис, а обратно постоянно шлет все обновления (обновления информации о заказах, обновления прайсов, балансов клиентов и т.д. и т.п.). Время тут достаточно критично, и если клиент вдруг не может сделать заказ потому что сайт ушел в даун (да, пробовали много разных хостингов, все равно никто 100% uptime не дает, хотя бы даже по причине провайдеров-посредников, т.е. например у конкретного провайдера в Киеве может стать недоступен какой либо конкретный хостинг, сами понимаете) то это очень плохо. Так же плохо если клиент сделал заказ, после этого появляются проблемы со связью и уже в компании программа не может соединиться с сайтом чтобы забрать заказы.

В общем как тут быть... Сначала были мысли поставить копию сайта на втором хостинге с другим доменом, клиентом сообщить "запасной адрес" и как-то проводить полную синхронизацию баз данных на обоих хостингах. Ну точнее либо "вручную" (например при отправке обновлений на сайт, слать их на оба сайта, а когда клиент делает заказ на одном из сайтов, прямо с этого сайта коннектиться к БД другого сайта и слать заказ еще и туда и т.д.) либо покупать 2 выделенных сервера и делать двустороннюю репликацию.

Первый вариант очень уж стремный и трудноподдерживаемый, второй вариант — дорогой, не хотят в фирме ежемесячно платить за 2 выделенных сервера.
Поэтому появилась мысль сделать так:
При отправке обновлений на сайт, все-таки слать обновления на оба сайта (ну как-то продумать чтобы это было универсальнее)
При получении заказов с сайта — проверять оба сайта, т.е. клиент чтобы мог сделать заказ на любом из сайтов
И еще например получать заказы с сайта не когда девушка-пользователь в компании решит их принять, а принимать их автоматом например каждую минуту (ну или точнее не принимать, а просто получать), тогда если клиент сделает заказ, а сайт через 5 минут накроется, то наша программа уже успеет заказ получить.
Вот такие мысли... Вариант конечно тоже не супер, но наверное получше первых двух.

Очень жду ваших комментариев и более лучших предложений, надеюсь посоветуете что-то более красивое, простое и удобное в поддержке и расширении.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.