AWS EC2-, Синхронизирующий файлы исходного кода с S3 - действительно ли это - надлежащий подход?

На сервере приложений, в котором несколько исходных файлов часто изменяются, рекомендуется следующий подход?

Используйте задание крона с S3tools для синхронизации исходных файлов с частным блоком S3 (каждые 15 минут, например).

На запуске сервера - пользовательский сценарий данных Использования для синхронизации с исходным блоком для получения последних источников.

Преимущества: 1. Никакая потребность присоединить EBS для сервера приложений только, чтобы сохранить несколько файлов 2. Подобная установка ко всем серверам приложений 3. Источники автоматически сохранены. 4. Как побочный продукт, распределяет код нескольким серверам приложений автоматически.

Недостатки: хранение исходного кода на S3 другой?

Что Вы думаете об этой методологии? Это правильный способ использовать EC2 когда изменение исходного кода часто (несколько раз день), рекомендуйте лучшему подходу выполнить экземпляры EC2, где источники часто изменяются.

6
задан Nir 8 January 2010 в 17:10
поделиться

2 ответа

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

ОДНАКО помните, что обновления корзины S3 являются атомарными только на уровне объекта и, что более важно, не гарантируют немедленную согласованность (хотя я помню, что недавно видел заметку о том, что конечная точка США-Запад действительно предлагает чтение после -пишите последовательность).

Это означает, что ваши серверы приложений могут загружать набор новых файлов, которые внутренне несовместимы - некоторые из них будут старыми, некоторые - новыми. Если для вас это проблема, то вам следует реализовать схему, которая загружает данные непосредственно на серверы приложений и обеспечивает согласованность набора изменений (возможно, путем загрузки во временный каталог, который затем переименовывается).

2
ответ дан 17 December 2019 в 02:29
поделиться

Я думаю, что вам лучше использовать правильный репозиторий исходного кода, такой как Subversion или Git, а не хранение исходных файлов на S3. Таким образом, вы можете иметь центральное местоположение для исходных файлов, избегая проблем согласованности обновления, которые упомянуто Kdgregory.

Вы можете поставить репозиторий источника на одном из ваших собственных серверов за пределами EC2 или размещаю его на экземпляре EC2 (убедитесь, что файлы репозитория находятся на томе EBS в последнем случае).

4
ответ дан 17 December 2019 в 02:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: