Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3 4   вперед  Ctrl      все
 Вопросы по ActiveMQ  [new]
Molasar
Member

Откуда:
Сообщений: 584
Всем привет!

Есть необходимость использовать транспортную шину для обмена сообщениями между приложениями.
Самой простой из всех реализаций стандарта JMS 1.1, показалась ActiveMQ.

Если у кого есть опыт работы с подобными сервисами, прошу поделиться опытом:

1. Оставить ActiveMQ или выбрать другую реализацию, например, RabbitMQ?
2. ActiveMQ запускается как stand-alone, но можно встроить в Tomcat. Какой вариант надежнее, быстрее?
3. Если ActiveMQ и RabbitMQ реализуют один и тот же стандарт, то у них есть универсальный API, который позволяет переключаться с одной реализации на другую без изменения кода приложений?
4. Как ActiveMQ работает в режиме многопоточности?
Есть несколько приложений, использующих одно подключение к ActiveMQ, и генерирующих множество событий, которые будут отправлены в очередь ActiveMQ. Будет ли в этом случае использован полный асинхронный режим, который не будет приостанавливать работу приложений при отправке сообщения в очередь.
15 апр 19, 10:14    [21862024]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы по ActiveMQ  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 37971
Molasar
Есть необходимость использовать транспортную шину для обмена сообщениями между приложениями.
по хорошему надо обосновать, почему не rest.
Так как все переписывать будете.
15 апр 19, 10:21    [21862042]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы по ActiveMQ  [new]
Озверин
Member

Откуда: Ростов-на-Дону
Сообщений: 5044
Molasar, насколько я помню, rabbitmq не имлементит 2 важные вещи для jms1.1 - распределенные транзакции и сессию.

1. Зависит от того, для чего реально вам нужен jms 1.1
2. Зависит от версии томката, тащемто, если не tomcatee, то, насколько я понимаю - тоже нет поддержки распределнных транзакций и все такое
3. код вы будете менять - так не бывает.
4. отлично работает
5. да, асинхронный режим во все поля

Я бы использовал таки rabbit`а, если это просто события, потому что есть быстрый старт со spring amqp и вменяемое описание. Вот если использовать spring amqp поверх всего этого дела - есть шансы на минимальное изменение кода после смены шины. Но, есть риски, что вы будете трахаться со spring amqp некоторое время.
15 апр 19, 10:28    [21862058]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы по ActiveMQ  [new]
Molasar
Member

Откуда:
Сообщений: 584
Petro123
Molasar
Есть необходимость использовать транспортную шину для обмена сообщениями между приложениями.
по хорошему надо обосновать, почему не rest.
Так как все переписывать будете.

А какие готовые решения используют rest?
15 апр 19, 10:31    [21862066]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы по ActiveMQ  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 37971
Molasar,
Проще сказать что тебе нужно.
Из готового синхронность. Так как асинхронность удорожает ПО для заказчика.
15 апр 19, 10:50    [21862098]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы по ActiveMQ  [new]
Partisan M
Member

Откуда:
Сообщений: 1330
Petro123
по хорошему надо обосновать, почему не rest.


совершенно не нужно, так как ваше пожелание не имеет никакого отношения к вопросу. Ну ни малюсенького.

Molasar
1. Оставить ActiveMQ или выбрать другую реализацию, например, RabbitMQ?


Это не реализации. А службы надёжной доставки сообщений. Внутри них сообщения имеют разный формат. В ActiveMQ (классическом) - JMS, в RabbitMQ - AMQP. Для использования сообщений AMQP в ActiveMQ предоставляется соединитель (Connector), аналогично к RabbitMQ есть соединитель для JMS.

автор
2. ActiveMQ запускается как stand-alone, но можно встроить в Tomcat. Какой вариант надежнее, быстрее?


Начать со встроенного. Потом посмотреть. Надёжность не зависит, но может зависеть производительность.

автор
3. Если ActiveMQ и RabbitMQ реализуют один и тот же стандарт, то у них есть универсальный API, который позволяет переключаться с одной реализации на другую без изменения кода приложений?


Вовсе не одинаковый. JMS - это API и протокол (но протокол скрыт от пользователя). AMQP - протокол. Но не API, которое впрочем есть в RabbitMQ.

автор
4. Как ActiveMQ работает в режиме многопоточности?
Есть несколько приложений, использующих одно подключение к ActiveMQ, и генерирующих множество событий, которые будут отправлены в очередь ActiveMQ.


Многопоточность не имеет отношения к работе службы доставки сообщений. Сообщения разных пользователей обрабатываются асинхронно и посещаются в очередь в случайном порядке (при одновременном поступлении).
15 апр 19, 10:56    [21862109]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы по ActiveMQ  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 37971
Partisan M
совершенно не нужно, так как ваше пожелание не имеет никакого отношения к вопросу. Ну ни малюсенького.
а ActiveMQ это шина?
15 апр 19, 10:58    [21862113]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы по ActiveMQ  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 37971
Partisan M,
Получается тема про шину, а вы про мессенджер.
15 апр 19, 10:59    [21862118]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы по ActiveMQ  [new]
mayton
Member

Откуда: loopback
Сообщений: 39868
Molasar, есть старая но актуальная лекция Алименкова по разным технологиями JMS. Можно послушать обзорно.
Он касается и ActiveMQ, RabbitMQ.
+


2. ActiveMQ запускается как stand-alone, но можно встроить в Tomcat. Какой вариант надежнее, быстрее?

В начале топика ты написал что надо для обмена между приложениями. Если приложений больше двух
то надо выбирать модель publishe-subscriber скорее всего. Встраивать в Томкат я-бы не стал. Тк. это означает
что перезагрузка веб-сервера автоматически делает недоступной месседжинг. Вобщем если нет проблем
памяти и перформанса я-бы держал ActiveMQ поднятым отдельным процессом.

Про RabbitMQ я ничего не знаю. Не использовал.
15 апр 19, 11:04    [21862132]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы по ActiveMQ  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 37971
mayton
Встраивать в Томкат я-бы не стал
+1
GlassFish +Camel
15 апр 19, 11:07    [21862136]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы по ActiveMQ  [new]
Kachalov
Member

Откуда: Москва
Сообщений: 5611
Petro123
а ActiveMQ это шина?

- само понятие "service bus" было введено разработчиками продукта SonicMQ
15 апр 19, 11:07    [21862137]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы по ActiveMQ  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 37971
Про шину)).
"Большому кораблю - большое плавание)"
15 апр 19, 11:08    [21862139]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы по ActiveMQ  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 37971
Kachalov,
А понятие Ксерокс кем было введено?
15 апр 19, 11:09    [21862140]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы по ActiveMQ  [new]
Kachalov
Member

Откуда: Москва
Сообщений: 5611
Petro123
GlassFish +Camel

- перебор, в GF уже встроен OpenMQ и разумно обойтись JMS. А на Tomcat - да, логично (вместо Camel можно использовать Spring Integration), но все равно нужен MOM
15 апр 19, 11:17    [21862151]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы по ActiveMQ  [new]
Kachalov
Member

Откуда: Москва
Сообщений: 5611
Petro123
Kachalov,
А понятие Ксерокс кем было введено?

- а Вам зачем? потрепаться захотелось?
15 апр 19, 11:20    [21862154]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы по ActiveMQ  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 37971
Kachalov,
Я думаю, что у ТС перебор.
Возможно 3 веб проекта общаются между собой и автор решил что нужно шину предприятия уже внедрять.
Я за плавный переход от 3 Г.. приложений к большой системе предприятия с шиной.
Там есть адаптеры, DSL и много много чего.
15 апр 19, 11:21    [21862160]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы по ActiveMQ  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 37971
Kachalov
Petro123
Kachalov,
А понятие Ксерокс кем было введено?

- а Вам зачем? потрепаться захотелось?
это вы треплетесь. Я про архитектуру.
15 апр 19, 11:22    [21862163]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы по ActiveMQ  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 37971
Kachalov
но все равно нужен MOM
я смотрю еще шире.
Нужен паттерн EIP.
15 апр 19, 11:27    [21862169]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы по ActiveMQ  [new]
Kachalov
Member

Откуда: Москва
Сообщений: 5611
Petro123
это вы треплетесь. Я про архитектуру.

- Про REST Вам уже Partisan M ответил
15 апр 19, 11:31    [21862178]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы по ActiveMQ  [new]
Kachalov
Member

Откуда: Москва
Сообщений: 5611
Petro123
я смотрю еще шире.
Нужен паттерн EIP.

- хоть гуглите внимательно, EIP - это набор паттернов, а не один паттерн. Похоже тема будет полезной для некоторых из участников
15 апр 19, 11:33    [21862181]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы по ActiveMQ  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 37971
Kachalov
Petro123
это вы треплетесь. Я про архитектуру.

- Про REST Вам уже Partisan M ответил
я ему тоже ответил. Воду хватит лить.
15 апр 19, 11:48    [21862203]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы по ActiveMQ  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 37971
Kachalov
хоть гуглите внимательно, EIP - это набор паттернов, а не один паттерн
это принципиально? Хватит воду лить.
15 апр 19, 11:49    [21862206]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы по ActiveMQ  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 37971
Зы
Тема будет интересна только тогда, когда ТС созреет до шины.
А не просто, мне или ему захотелось.
Тогда будет как теме про трехзвенку с БЛ в базе.
15 апр 19, 11:52    [21862210]     Ответить | Цитировать Сообщить модератору
 Re: Вопросы по ActiveMQ  [new]
Андрей Панфилов
Member

Откуда: Москва > Melbourne
Сообщений: 3182
Petro123
по хорошему надо обосновать, почему не rest.
Это надо выбор REST обосновывать в случае асинхронного взаимодействия, ниже три причины почему JMS:
  • поддержка транзакций
  • слабая связность
  • время отклика
  • 15 апр 19, 12:05    [21862233]     Ответить | Цитировать Сообщить модератору
     Re: Вопросы по ActiveMQ  [new]
    Petro123
    Member

    Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
    Сообщений: 37971
    Андрей Панфилов
    Это надо выбор REST обосновывать в случае асинхронного взаимодействия
    хм..
    Я думал что в ЯП типа Java синхронная модель программирования. И она как бы сама собой с начала Hello world выходит.
    А вот асинхронность это надо постараться).
    15 апр 19, 12:12    [21862254]     Ответить | Цитировать Сообщить модератору
    Топик располагается на нескольких страницах: [1] 2 3 4   вперед  Ctrl      все
    Все форумы / Java Ответить