forum.bitel.ru
http://forum.bitel.ru/

Inet & activeMQ
http://forum.bitel.ru/viewtopic.php?f=44&t=10008
Страница 1 из 1

Автор:  Cromeshnic [ 10 дек 2014, 14:57 ]
Заголовок сообщения:  Inet & activeMQ

Задался вопросом.

В BGBillingServer/data/data.properties:
Код:
mq.url=failover:(nio://127.0.0.1:61616?socketBufferSize=1000000)


В BGInetAccess/Accounting:
Код:
<param name="mq.url" value="failover:(tcp://localhost:61616)"/>


tcp/nio для Inet имеет какой-то сакральный смысл или можно как душе угодно?

Автор:  Amir [ 10 дек 2014, 15:08 ]
Заголовок сообщения:  Re: Inet & activeMQ

Как угодно, лишь бы работало. С nio теоретически должно быстрее работать.

Также: У одного клиента в определенные часы происходит смена скоростей. При этом по какой-то причине отправка задач о необходимости поменять опции происходила не очень быстро.
Сейчас это задание помечено как persistent - это означает что по умолчанию activemq принимает это сообщение, сохраняет на диск и после этого отвечает ОК, только тогда отправка завершена.
Возможно сохранение на диск работало не быстро.
Помогло установить в url jms.useAsyncSend=true для InetAccounting, т.е. он перестал ожидать подтверждения записи на диск от activemq при отправке сообщения.
Смена скоростей вместо 40 минут стала выполнятся за 5.

С одной стороны это немного не безопасно - есть вероятность что при аварии какое-то сообщение потеряется, но при рестарте InetAccounting он все равно снова пошлет задания, если текущие опции не совпадают.
Хотели пересмотреть, для каких сообщений действительно нужен флаг persistent, но пока не успели.

Автор:  Cromeshnic [ 10 дек 2014, 15:33 ]
Заголовок сообщения:  Re: Inet & activeMQ

Ага, спасибо.
Amir писал(а):
Хотели пересмотреть, для каких сообщений действительно нужен флаг persistent, но пока не успели.

Вот да, там же для некоторых важнее актуальность, а для других - надёжность доставки.

Автор:  Cromeshnic [ 10 дек 2014, 15:35 ]
Заголовок сообщения:  Re: Inet & activeMQ

Сделать например отдельные классы mq-ивентов: Persistent и NonPersistent например. Программист сразу когда заводит событие будет думать, какое оно.
Но это так, мысли вслух :)

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/