Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Передача сообщений / 13 сообщений из 13, страница 1 из 1
25.09.2014, 19:20
    #38758082
andrewdv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача сообщений
Всем привет!
Делаю систему сбора статистики для интернет-магазина и нужна помощь.
Идея следующая: есть сервер, который принимает сообщения от системы продаж и сохраняет их в бд.
Основные требования - это чтобы сбор статистики никак не влиял на систему продаж.
Т.е. сообщение должно отправляться быстро и не нужно ждать ответа.
Потеря статистики - не критично.
Как лучше реализовать эту отправку сообщений?
У меня пока на уме 2 варианта:
1. Через JMS, но тогда нужно очередь делать, т.е. усложнение простой задачи.
2. Через HTTP, сделать тупо сервлет. Но тогда если сервер упадет, то отправитель будет каждый раз ждать тайм-аут.
Что посоветуете, наверняка есть еще простые варианты, которые я упустил?
...
Рейтинг: 0 / 0
25.09.2014, 20:44
    #38758139
Basil A. Sidorov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача сообщений
А сервер, обслуживающий очередь упасть, значит, не может?
...
Рейтинг: 0 / 0
25.09.2014, 21:07
    #38758148
cdtyjv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача сообщений
andrewdv ,
Самый простой вариант - сервер слушает сокет, клиент асинхронно посылает на него сообщения. Проще некуда.
Все остальное - JMS-ы, Akka, и т.д. - это навороты поверх этого самого сокета.
...
Рейтинг: 0 / 0
26.09.2014, 08:16
    #38758368
scf
scf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача сообщений
Еще можно вспомнить про Ынтрырпрайз-реди вариант:
Приложение пишет всю необходимую информацию в лог, а отдельный процесс этот лог анализирует и собирает данные.
Из готовых решений: Geneos, Splunk.

Плюсы: не нужно допиливать приложение, минимальное взаимное влияние, в случае коллапса логи останутся и их можно будет запроцессить попозже.
...
Рейтинг: 0 / 0
26.09.2014, 08:51
    #38758387
eJack
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача сообщений
scf,

В случае падения jms очередь тоже не куда не денется - я бы взял jms, данные не потеряются и гарантированно будут обработаны при любых падениях.
...
Рейтинг: 0 / 0
26.09.2014, 08:52
    #38758388
eJack
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача сообщений
eJackscf,

В случае падения jms очередь тоже не куда не денется - я бы взял jms, данные не потеряются и гарантированно будут обработаны при любых падениях.

Да jms работает быстро, накладных расходов не будет, работает асинхронно.
...
Рейтинг: 0 / 0
26.09.2014, 11:31
    #38758600
remodov
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача сообщений
JMS, я думаю тут лучше всего подойдет, он для таких задач и создан
...
Рейтинг: 0 / 0
26.09.2014, 11:39
    #38758621
cdtyjv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача сообщений
eJackscf,
В случае падения jms очередь тоже не куда не денется - я бы взял jms, данные не потеряются и гарантированно будут обработаны при любых падениях .Гарантий обработки/сохранности чего-либо при любых падениях не дает ни одна из разработанных человечеством систем, так как это невозможно теоретически :-)

Что касается JMS, то он будет давать гарантии досылки данных после рестарта только в том случае, если он это поддерживает, и сконфигурирован соответствующим образом.
...
Рейтинг: 0 / 0
26.09.2014, 12:43
    #38758735
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача сообщений
> Через HTTP
а что? Нужно обязательно ждать ответ HTTP.error-404?
...
Рейтинг: 0 / 0
26.09.2014, 17:07
    #38759191
andrewdv
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача сообщений
А что скажете, если отправлять сообщения по UDP?
Наткнулся на http://pinba.org/, они так работают и, похоже, проблем нет.
...
Рейтинг: 0 / 0
26.09.2014, 17:15
    #38759198
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача сообщений
andrewdv,
у тебя проблем не будет с любым протоколом. Если в доп потоке.
...
Рейтинг: 0 / 0
26.09.2014, 17:37
    #38759228
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача сообщений
andrewdv, пиши статистику в текстовый файл.
Потом заходи в этот файл через http и читай его.
...
Рейтинг: 0 / 0
26.09.2014, 17:40
    #38759230
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Передача сообщений
maytonandrewdv, пиши статистику в текстовый файл.
Потом заходи в этот файл через http и читай его.
гениально. Glass fish так делает.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Передача сообщений / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]