Я сейчас изучаю дизайн системы. Я просматривал блог, разрабатывая систему, предлагающую что-то похожее на новостную ленту Facebook. Далее он подсчитывает количество серверов, необходимых для хранения каналов в памяти, исходя из предположения о 300М ежедневных активных пользователей
Хранилище оценки: в среднем давайте предположим, что нам нужно иметь около 500 сообщений в ленте каждого пользователя, которые мы хотим сохранить в памяти для быстрой загрузки. Давайте также предположим, что в среднем каждое сообщение будет иметь размер 1 КБ. Это будет означать, что нам нужно хранить примерно 500 КБ данных на пользователя. Чтобы хранить все эти данные для всех активных пользователей, нам потребуется 150 ТБ памяти. Если сервер может вместить 100 ГБ, нам понадобится около 1500 машин, чтобы сохранить 500 первых сообщений в памяти для всех активных пользователей.
У меня нет опыта развертывания приложений в таком масштабе. Является ли этот расчет для размера поста и требуемого количества серверов c? будет ли действительно развернуто 1500 серверов только для кэширования вещей в памяти? Я бы предположил, что по крайней мере один должен будет реплицировать каждый сервер по крайней мере один раз, и, таким образом, одному потребуется по крайней мере вдвое больше этого числа, и мне это не кажется реалистичным.