Назад | Перейти на главную страницу

Amazon EC2 и сочетание локальных серверов

У меня есть проект, над которым я работаю, для которого потребуется множество ресурсоемких сервисов, работающих 24/7, таких как поисковые роботы, вычисления для рекомендаций и т. Д. Мой план состоит в том, чтобы создать общедоступный веб-сайт, на который пользователи могут входить и взаимодействовать с ним, размещенный на Amazon. EC2, чтобы гарантировать, что он почти всегда работает (да, я знаю, что у Amazon недавно был огромный сбой). Поскольку на EC2 вы получаете оплату в зависимости от времени процессора, я хотел бы запускать все свои ресурсоемкие службы на моих собственных локальных компьютерах. Затем я буду синхронизировать базу данных в облаке Amazon с моими локальными базами данных. Я думаю, это должно снизить мои расходы. Мой единственный вопрос - как лучше всего все соединить. Чтобы попытаться дать немного больше деталей, оставаясь при этом двусмысленным: скажем, пользователь добавляет то, что я назову здесь объектом, через веб-интерфейс. Затем мне нужно каким-то образом сообщить мне локальным серверам, что пользователь добавил этот объект, и выполнить задачу. t. Скажите задачу t изменяет базу данных. Я мог бы либо изменить базу данных Amazon, чтобы изменения сразу были видны пользователю, либо изменить мою локальную базу данных, которая в конечном итоге будет реплицирована в базу данных Amazon. Итак, вот два моих основных вопроса:

  1. Как бы вы передавали информацию между облачным и локальным серверами? Не могли бы вы сказать REST api как для веб-приложения на S3, так и для ваших локальных сервисов, чтобы они могли обмениваться данными по HTTP-коммуникациям, или вы могли бы как-то использовать SSH, чтобы поддерживать постоянное соединение между ними?
  2. Сделали бы вы все изменения базы данных в базе данных Amazon, чтобы изменения были немедленно видны пользователям, или же локальные службы вносят изменения только в локальную базу данных.

Мы очень ценим все предложения или рекомендации.

В вашей ситуации вы можете изучить Amazon. Виртуальное частное облако (VPC) для связи между вашими экземплярами EC2 и локальными серверами.

Трудно ответить, не зная больше о своей ситуации. Имеет ли значение, если пользователь добавляет объект, но не видит его в течение часа? Что это за объект? Запись в БД или это файл?

Являются ли ваши вычисления интенсивными в базе данных или в базе данных просто хранятся результаты вычислений? В последнем случае зачем вообще нужна локальная база данных? Если первое, ваши вычисления в основном выбирают? Вы можете настроить репликацию «главный-подчиненный» между двумя базами данных, при этом вычисления будут выполняться только на подчиненном устройстве.