Pull to refresh

Клон omegle.com: pogovorisomnoi.ru

Reading time 2 min
Views 5.1K

Поговори со мной.ru


Мы не будем рассказывать о синдроме незнакомца, а просто скажем, что запустили небольшой проект поговори со мной.ру, весьма откровенный клон англоязычного сервиса omegle.com.
Сервис позволяет общаться с одним случайно выбранным посетителем сайта анонимно один на один. И главное! У нас есть печеньки звуковое оповещение о сообщениях :)

Зачем?


Действительно, зачем создавать ещё один ресурс, если есть omegle.com и появились русскоязычные клоны? Мне и DMS  стало интересно сделать клона. Просто повторить интересную идею, воспользовавшись новыми технологиями. Когда появилось желание, клонов ещё не было, это вселяло надежду стать первыми, но…
slowpoke

В общем-то, на этом можно бы было и закончить, призвав на головы винчестеров и сетевые интерфейсы сервера хабраэффект, но мы решили немного рассказать о внутренностях сервиса. Итак:

Техническая сторона сервиса


Сердцем системы является протокол STOMP и сервер доставки сообщений. Поясню картинкой:

image

  1. От клиентов по протоколу STOMP поверх HTTP (реализуется js-библиотекой, идущей в комплекте с orbited) приходят сообщения на сервер Orbited, который является мостом между http и tcp протоколами.
  2. Orbited проксирует STOMP-сообщения на какой-либо AMQP-брокер, имеющий STOMP-интерфейс.

AMQP-брокер – это такой сервер, который предназначен для гарантированной доставки сообщений любого формата клиентам. Идеально подходит под задачи чатов, IM и др.

Такая архитектура позволяет исключить реляционную БД из процесса обмена сообщениями, что снижает ресурсоёмкость и повышает надёжность. Клиентская JS библиотека, предоставляемая вместе с Orbited, позволяет создавать comet-соединения с сервером и реализует протоколы IRC, XMPP и STOMP «из коробки».
Нагрузок, которые может выдержать наша система мы пока не знаем, поэтому за устойчивость во время хабраэффекта быть уверенными не можем :)

В общем, добро пожаловать. Чат начат, поприветствуйте собеседника.
Tags:
Hubs:
+26
Comments 113
Comments Comments 113

Articles