|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.01.2014, 13:40 | #1 |
Новичок
Джуниор
Регистрация: 13.01.2014
Сообщений: 2
|
Реализация чата при высоком онлайн
Всем привет! Хочу сделать сайт, в котором планирую встроить функционал общения людей друг с другом, к примеру такой, как на сайтах знакомств ил в соц. сетях. Меня интересует такой вопрос - если предположим на сайте несколько сот или тысяч пользователей, то как организовывать между ними общение (чат) так, чтобы была минимальная нагрузка на сервер. Т.е. вот как на сайтах знакомств предположим, там может одновременно общаться скажем 1000 человек, соответственно это 500 отдельных чатов на 2 человека, если делать их с помощью ajax например или jquery, то это какая же нагрузка будет... Что в таких проектах используется. C++ или Java демоны и сокеты? Просто хочется изначально сделать все по уму, даже если и не будет высокого онлайна на сайте. Прошу прощения за сумбурность.
|
13.01.2014, 15:01 | #2 |
Раздолбайских Дел
Старожил
Регистрация: 22.05.2009
Сообщений: 3,828
|
веб-сокеты (и таймеры для недобраузеров) && асинхронный сервер (напр. node.js, mojolicious, Amon2 etc)
хотя 1к пользователей не такая уж и большая нагрузка
Alar, верни репу!
|
13.01.2014, 15:38 | #3 |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
Веб-сокеты нужны для моментальных сообщений.
Если возможна задержка в 2 секунды, то достаточно php+MySQL (unix-сокеты), реализация через Ajax. |
14.01.2014, 14:13 | #4 |
Форумчанин
Регистрация: 03.12.2010
Сообщений: 334
|
Чтобы нагрузка была небольшая, достаточно просто сделать чат рагульным и неудобным - тогда никто ним не будет пользоваться и нагрузка будет минимальная
В инете полно исходников для чата, есть весьма удачные решение, которые нужно немного допилить. При большом числе сообщений, чтоб человек успевал читать, нужно разделять чаты на отдельные и обновлять не чаще, чем раз в 5-10 секунд. Кроме того, пользователю надо скармливать не всю историю, а только ту часть, которую он еще не получил. При онлайне в 20-50 тысяч пользователей нагрузка будет вполне приемлемая, а при нормальном железе и канале, это далеко не предел. Если нагрузка вырастет серьезно, тогда нужно будет вводить систему распределенных серверов. |
14.01.2014, 22:26 | #6 |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
|
15.01.2014, 11:07 | #7 |
Новичок
Джуниор
Регистрация: 13.01.2014
Сообщений: 2
|
Что-то я сомневаюсь, что на сервисах знакомств чаты сделаны на ajax. Дело в том, что в свое время я делал сервис чатов на ajax, у меня был свой сервер, так вот, сервак от нагрузки падал при общем онлайн 150 человек в 10 чатах...
|
15.01.2014, 12:39 | #8 |
Старожил
Регистрация: 19.04.2010
Сообщений: 2,702
|
И при чём тут AJAX? Скорее всего у вас были проблемы с базой
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Реализация многопоточного чата с возможностью передачи файлов по сети | darek13 | Работа с сетью в Delphi | 34 | 22.02.2013 16:00 |
Переадресация сообщений чата Онлайн - игры | WolfgangAmadeus | Фриланс | 0 | 20.09.2012 12:01 |
Реализация интернет чата. | JohnLemon | Помощь студентам | 1 | 22.10.2011 22:23 |
Реализация чата | Balanar | Помощь студентам | 1 | 05.07.2011 05:21 |