Ответы пользователя по тегу MongoDB
  • Какую архитектуру создать для написания сервера статистики на Ruby?

    Sardar
    @Sardar
    Мне тут посоветовали Scribe для быстрого сбора событий. Используется facebook'ом, объемы статистики которого малыми не назвать. Scribe может очень быстро принять сообщение, а затем сбрасывать его произвольное время на другой Scribe сервер или в локальный файл. Таким образом отослать событие "ничего" не стоит по времени. События могут быть внутренние (открытие страницы) или принятые от вашего плеера/приложения (play/pause) через (REST) API. Во втором случае лучше не использовать тяжелый стек RoR, а взять что-то крайне легковесное. Ведь там не будет никакой логики, принять данные и сразу в Scribe. Я бы сделал на чистом python/WSGI.

    В идеале поставить по scribe процессу на каждый app. сервер, которые будут сливать события на единый выделенный scribe сервер, сливающий все в набор файлов. На этом же сервере можно поставить любую аналитику, которая на вход получит большие файлы с логами, а на выходе необходимую вам статистику (можно на map-reduce, можно и попроще). Ротацию файлов можно поставить на 10 минут, scribe сам за вас их крутит. Готовые агрегаты сливаются в любую БД, скорость ее работы не принципиальна, ведь они пойдут на графики для узкого круга людей.
    Ответ написан
    Комментировать