|
|
|
Передача сообщений
|
|||
|---|---|---|---|
|
#18+
Всем привет! Делаю систему сбора статистики для интернет-магазина и нужна помощь. Идея следующая: есть сервер, который принимает сообщения от системы продаж и сохраняет их в бд. Основные требования - это чтобы сбор статистики никак не влиял на систему продаж. Т.е. сообщение должно отправляться быстро и не нужно ждать ответа. Потеря статистики - не критично. Как лучше реализовать эту отправку сообщений? У меня пока на уме 2 варианта: 1. Через JMS, но тогда нужно очередь делать, т.е. усложнение простой задачи. 2. Через HTTP, сделать тупо сервлет. Но тогда если сервер упадет, то отправитель будет каждый раз ждать тайм-аут. Что посоветуете, наверняка есть еще простые варианты, которые я упустил? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 19:20 |
|
||
|
Передача сообщений
|
|||
|---|---|---|---|
|
#18+
А сервер, обслуживающий очередь упасть, значит, не может? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 20:44 |
|
||
|
Передача сообщений
|
|||
|---|---|---|---|
|
#18+
andrewdv , Самый простой вариант - сервер слушает сокет, клиент асинхронно посылает на него сообщения. Проще некуда. Все остальное - JMS-ы, Akka, и т.д. - это навороты поверх этого самого сокета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.09.2014, 21:07 |
|
||
|
Передача сообщений
|
|||
|---|---|---|---|
|
#18+
Еще можно вспомнить про Ынтрырпрайз-реди вариант: Приложение пишет всю необходимую информацию в лог, а отдельный процесс этот лог анализирует и собирает данные. Из готовых решений: Geneos, Splunk. Плюсы: не нужно допиливать приложение, минимальное взаимное влияние, в случае коллапса логи останутся и их можно будет запроцессить попозже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2014, 08:16 |
|
||
|
Передача сообщений
|
|||
|---|---|---|---|
|
#18+
scf, В случае падения jms очередь тоже не куда не денется - я бы взял jms, данные не потеряются и гарантированно будут обработаны при любых падениях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2014, 08:51 |
|
||
|
Передача сообщений
|
|||
|---|---|---|---|
|
#18+
eJackscf, В случае падения jms очередь тоже не куда не денется - я бы взял jms, данные не потеряются и гарантированно будут обработаны при любых падениях. Да jms работает быстро, накладных расходов не будет, работает асинхронно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2014, 08:52 |
|
||
|
Передача сообщений
|
|||
|---|---|---|---|
|
#18+
JMS, я думаю тут лучше всего подойдет, он для таких задач и создан ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2014, 11:31 |
|
||
|
Передача сообщений
|
|||
|---|---|---|---|
|
#18+
eJackscf, В случае падения jms очередь тоже не куда не денется - я бы взял jms, данные не потеряются и гарантированно будут обработаны при любых падениях .Гарантий обработки/сохранности чего-либо при любых падениях не дает ни одна из разработанных человечеством систем, так как это невозможно теоретически :-) Что касается JMS, то он будет давать гарантии досылки данных после рестарта только в том случае, если он это поддерживает, и сконфигурирован соответствующим образом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2014, 11:39 |
|
||
|
Передача сообщений
|
|||
|---|---|---|---|
|
#18+
> Через HTTP а что? Нужно обязательно ждать ответ HTTP.error-404? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2014, 12:43 |
|
||
|
Передача сообщений
|
|||
|---|---|---|---|
|
#18+
А что скажете, если отправлять сообщения по UDP? Наткнулся на http://pinba.org/, они так работают и, похоже, проблем нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2014, 17:07 |
|
||
|
Передача сообщений
|
|||
|---|---|---|---|
|
#18+
andrewdv, у тебя проблем не будет с любым протоколом. Если в доп потоке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2014, 17:15 |
|
||
|
Передача сообщений
|
|||
|---|---|---|---|
|
#18+
andrewdv, пиши статистику в текстовый файл. Потом заходи в этот файл через http и читай его. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.09.2014, 17:37 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=159&tid=2126543]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
1ms |
| others: | 245ms |
| total: | 400ms |

| 0 / 0 |
