Я хотел бы знать архитектуру чата реального времени для миллионов пользователей, таких как whatsapp.Java chat socket milion clients
Я реализовал чат, но мне нужно использовать несколько серверов для обработки большего числа клиентов
я читал еще один вопрос, но я до сих пор есть сомнения. Скажите, правильно ли я говорю:
Клиенты подключаются к балансировщику нагрузки, которые решают дать подключение к одному из серверов whatsapp. Пример Clientâ подключения к Server1, ClientB подключения к Server2,
-Если Clientâ хочет общаться с ClientB, посылает сообщение на Server1, теперь это, как вы знаете, в какой сервер ClientB? Поддержание масштабируемости для миллионов пользователей)
Как реализовать чат для обработки миллионов пользователей?
Спасибо, но если я использую большую базу данных, если у меня есть миллион пользователей, каждый сервер должен искать среди миллионов запросов, которые вы хотите. Это занимает время – John
Если вы выберете одну строку по PK (например, идентификатор клиента), тогда для этого может использоваться механизм базы данных. Все крупные социальные приложения используют эту архитектуру. –
Вот очень подробное описание архитектуры, используемой instagram из их технологического блога. Они используют redis (ключ с открытым исходным кодом nosql db) для основного канала. они также используют традиционные СУБД и облачные хранилища, просто читают все об этом http://instagram-engineering.tumblr.com/post/13649370142/what-powers-instagram-hundreds-of-instances –