- 12, May 2024
- #1
Привет,
Я планирую крупномасштабный веб-сервис, к которому одновременно будут иметь доступ максимум 5000 человек, а общее количество пользователей составит 30 тысяч или около того в этом измерении.
Теперь, учитывая такой большой размер, нам нужны резервные копии, если возможно, нам также следует выполнить балансировку нагрузки и контролировать серверы.
Мой текущий опыт работы связан с веб-серверами Apache и сайтами, которые посещают максимум 5000 человек в месяц или даже год. Веб-сервису: я все еще определяю, какую платформу лучше всего использовать.
База данных наверняка будет чем-то похожа на SQL, PostgreSQL обычно сможет справиться с таким количеством пользователей.
Что касается самого веб-сервиса, я подумал о Node.js с Express или, альтернативно, о сервере Django. Теперь самое интересное: администрирование сервера.
В настоящее время я являюсь поклонником Amazon Web Services.
Я не знаю вашего опыта по этому поводу? Но в настоящее время у меня нет проблем, и особенно время доступности отличное.
Стоит ли мне использовать Docker? Я могу себе представить, что это отлично подходит для развертывания, поскольку ошибок почти не должно быть.
Кроме того, я хочу иметь минимальное время обновления, чтобы я мог развернуть Docker-контейнер на производственном резервном сервере, затем запустить над ним службу мониторинга, чтобы убедиться, что все работает, а затем я мог указать активный сервер на резервный сервер.
И затем в следующий раз другой сервер получит мой новый сервер аварийного переключения.
Однако я никогда не реализовал такую вещь и не знаю, как этого добиться.
Следующим большим шагом будет внедрение балансировки нагрузки.
Я видел, что AWS предлагает что-то подобное.
Но могу ли я также динамически настраивать новые серверы на лету? Допустим, инструмент мониторинга (есть ли рекомендации?) сообщает, что сервер A (активный) испытывает большую нагрузку, можем ли мы автоматически настроить новый сервер (через AWS, платите только по мере использования) и многое другое, что вводится в нагрузку? балансирующий массив?
Но если быть реалистом: возможно ли это на самом деле? Или может ли один сервер обслуживать эти 5000 человек одновременно? На самом деле нагрузка на сервер должна быть высокой, в основном доступ на чтение и периодические транзакции с вставками.
А по резервной части: как это реализовано в продакшене? Ежедневные резервные копии одной и зеркальных баз данных, которые автоматически синхронизируют изменения?
Сколько места, памяти и мощности процессора для этого потребуется? С обновлением AWS такой проблемы быть не должно, но цена играет большую роль.
Я хочу заранее узнать приблизительную стоимость.
Если есть другие серверы, кроме AWS, с такой же высокой доступностью, сообщите мне об этом.
Но я не хочу покупать корневой сервер, которым мне придется управлять исключительно самому. С уважением, Герберт
Я планирую крупномасштабный веб-сервис, к которому одновременно будут иметь доступ максимум 5000 человек, а общее количество пользователей составит 30 тысяч или около того в этом измерении.
Теперь, учитывая такой большой размер, нам нужны резервные копии, если возможно, нам также следует выполнить балансировку нагрузки и контролировать серверы.
Мой текущий опыт работы связан с веб-серверами Apache и сайтами, которые посещают максимум 5000 человек в месяц или даже год. Веб-сервису: я все еще определяю, какую платформу лучше всего использовать.
База данных наверняка будет чем-то похожа на SQL, PostgreSQL обычно сможет справиться с таким количеством пользователей.
Что касается самого веб-сервиса, я подумал о Node.js с Express или, альтернативно, о сервере Django. Теперь самое интересное: администрирование сервера.
В настоящее время я являюсь поклонником Amazon Web Services.
Я не знаю вашего опыта по этому поводу? Но в настоящее время у меня нет проблем, и особенно время доступности отличное.
Стоит ли мне использовать Docker? Я могу себе представить, что это отлично подходит для развертывания, поскольку ошибок почти не должно быть.
Кроме того, я хочу иметь минимальное время обновления, чтобы я мог развернуть Docker-контейнер на производственном резервном сервере, затем запустить над ним службу мониторинга, чтобы убедиться, что все работает, а затем я мог указать активный сервер на резервный сервер.
И затем в следующий раз другой сервер получит мой новый сервер аварийного переключения.
Однако я никогда не реализовал такую вещь и не знаю, как этого добиться.
Следующим большим шагом будет внедрение балансировки нагрузки.
Я видел, что AWS предлагает что-то подобное.
Но могу ли я также динамически настраивать новые серверы на лету? Допустим, инструмент мониторинга (есть ли рекомендации?) сообщает, что сервер A (активный) испытывает большую нагрузку, можем ли мы автоматически настроить новый сервер (через AWS, платите только по мере использования) и многое другое, что вводится в нагрузку? балансирующий массив?
Но если быть реалистом: возможно ли это на самом деле? Или может ли один сервер обслуживать эти 5000 человек одновременно? На самом деле нагрузка на сервер должна быть высокой, в основном доступ на чтение и периодические транзакции с вставками.
А по резервной части: как это реализовано в продакшене? Ежедневные резервные копии одной и зеркальных баз данных, которые автоматически синхронизируют изменения?
Сколько места, памяти и мощности процессора для этого потребуется? С обновлением AWS такой проблемы быть не должно, но цена играет большую роль.
Я хочу заранее узнать приблизительную стоимость.
Если есть другие серверы, кроме AWS, с такой же высокой доступностью, сообщите мне об этом.
Но я не хочу покупать корневой сервер, которым мне придется управлять исключительно самому. С уважением, Герберт