Подскажите плз, как правильно организовать нагрузочное для мессенджера. Необходимо дать возрастающую нагрузку от 100 до 1 млн. юзеров.
Я совсем не спец по нагрузке, это мой первый раз) Если поможете советами, буду премного благодарен)
Сценарии пока такие:
- отправка сообщений между двумя юзерами в личном чате
- отправка сообщений множеством юзеров в групповых чатах
--------------------------
Для сценария месседжинга между двумя юзерами в личном чате сделал так (юзеры уже зареганы):
Есть Thread
В Once Only Controller авторизуются два юзера (авторизация по номеру), токены записываются в переменные. Тел. номера для запроса авторизации считываются с .CSV файла. Номера в файлике записаны в два столбца (т.к. переписываются два юзера):
89164335675, 891634536646
89156874564, 892641252525
...
В остальных Simple Controllers происходит обмен сообщениями (и запрос списка сообщений соответственно).
--------------------------
Для сценария месседжинга в групповом чате все то же самое:
Есть отдельный Thread
В Once Only Controller авторизуются два юзера (авторизация по номеру), записываются в переменные токены. Тел. номера для запроса авторизации считываются с .CSV файла. Номера в файлике записаны в два столбца (в данном случае в групповом тоже переписываются два юзера):
89164335675, 891634536646
89156874564, 892641252525
...
В остальных Simple Controllers происходит обмен сообщениями (и запрос списка сообщений соответственно).
--------------------------
Насколько я понимаю, правильно будет делать распределенную нагрузку (в данном случае в облаке, т.к. своих ресурсов нет), скорее всего на AWS. Архитектурно - делать master EC2 инстанс + несколько slave EC2 инстансов