powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Integration via JMS как правильно?
19 сообщений из 19, страница 1 из 1
Integration via JMS как правильно?
    #38041240
ТимоН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как правильно:
- на каждый интеграционный процесс создаем очередь
- одна очередь на несколько интеграционных процессов (не обязательно вообще одна), на каждый тип сообщения (JMSProperties) пишем свой обработчик

как?
...
Рейтинг: 0 / 0
Integration via JMS как правильно?
    #38041261
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это уже ESB будет, а не JMS. Что с чем интегрируете? JMS реализует очереди в контексте JEE приложения, в нем очевидно кто создаёт и кто получает сообщения. Соответсвенно такого вопроса не возникает.
Очередь лучше иметь под конкретного читателя. Т.е. чем более гомогенные данные в одной очереди, тем лучше. Но за исключением ситуации, когда одни и те же консюмеры вдруг должны читать из разных очередей.
...
Рейтинг: 0 / 0
Integration via JMS как правильно?
    #38041281
ТимоН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczЭто уже ESB будет, а не JMS.
ESB уже есть. Как раз она и будет в JMS складывать сообщения.
BlazkowiczЧто с чем интегрируете?
Web (Jboss) с сторонними системами.
BlazkowiczОчередь лучше иметь под конкретного читателя. Т.е. чем более гомогенные данные в одной очереди, тем лучше. Но за исключением ситуации, когда одни и те же консюмеры вдруг должны читать из разных очередей.
Меня в общем беспокоит тот факт что из спеки JMS используется минимум. А как же приоритеты и проперти? Не будет ли более правильно использовать второй вариант а не плодить 100500 очередей? Понимаю что какой то из паблишеров может генерить на порядок больше сообщений (приоритеты/отдельная "нагруженная очередь").

Есть ли вообще паттерн которого стоит придерживаться в таких случаях?
...
Рейтинг: 0 / 0
Integration via JMS как правильно?
    #38041296
IgorKonovalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ТимоН,

Создавайте столько очередей сколько вам надо. С точки зрения устройства большинства MOM-ов нет никакой разницы одна очередь или тысячи. Просто вопрос распределения по consumer-ам вы кладете или на MOM или на свою аппликацию.
...
Рейтинг: 0 / 0
Integration via JMS как правильно?
    #38041301
IgorKonovalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ТимоНА как же приоритеты и проперти? Не будет ли более правильно использовать второй вариант а не плодить 100500 очередей? Понимаю что какой то из паблишеров может генерить на порядок больше сообщений (приоритеты/отдельная "нагруженная очередь").

Есть ли вообще паттерн которого стоит придерживаться в таких случаях?

Вот, Вы начинаете задумываться над конкретикой решения. Копните еще глубже и там уже будут конкретный продюсеры и консамеры, их взаимодействие, транзакции, повторные отправки, очереди отклоненных сообщений...

Шаблоны есть, называются EIP (Enterprise Integration Patterns). Там и сообщения, каналы, пайплайны...
...
Рейтинг: 0 / 0
Integration via JMS как правильно?
    #38041315
ТимоН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IgorKonovalovВот, Вы начинаете задумываться над конкретикой решения. Копните еще глубже и там уже будут конкретный продюсеры и консамеры, их взаимодействие, транзакции, повторные отправки, очереди отклоненных сообщений...

Шаблоны есть, называются EIP (Enterprise Integration Patterns). Там и сообщения, каналы, пайплайны...
Ок. Допустим у нас N типа сообщений, разной структуры, не большие по размеру. Мы предполагаем что количество сообщений не будет большим. Наш вариант:
1. N очередей
2. 1 очередь

Почему 1 вариант лучше?
...
Рейтинг: 0 / 0
Integration via JMS как правильно?
    #38041319
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТимоНОк. Допустим у нас N типа сообщений, разной структуры, не большие по размеру. Мы предполагаем что количество сообщений не будет большим. Наш вариант:
1. N очередей
2. 1 очередь
Почему 1 вариант лучше?
Да не при чем тут "типы" вообще. Зависит от консюмеров. А гомогенные данные проще анализировать в случае чего. Но это не так важно. Т.е. если у тебя один продюсер, один консюмер, то нафига тебе N очередей для N типов, если консюмер всё равно их поочереди обрабатывает?
...
Рейтинг: 0 / 0
Integration via JMS как правильно?
    #38041326
IgorKonovalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczТимоНОк. Допустим у нас N типа сообщений, разной структуры, не большие по размеру. Мы предполагаем что количество сообщений не будет большим. Наш вариант:
1. N очередей
2. 1 очередь
Почему 1 вариант лучше?
Да не при чем тут "типы" вообще. Зависит от консюмеров. А гомогенные данные проще анализировать в случае чего. Но это не так важно. Т.е. если у тебя один продюсер, один консюмер, то нафига тебе N очередей для N типов, если консюмер всё равно их поочереди обрабатывает?

Не скажите, Blazkowicz, не скажите. Может ТимоН селекторы будет использовать?
...
Рейтинг: 0 / 0
Integration via JMS как правильно?
    #38041331
ТимоН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IgorKonovalovНе скажите, Blazkowicz, не скажите. Может ТимоН селекторы будет использовать?
Да, буду.
...
Рейтинг: 0 / 0
Integration via JMS как правильно?
    #38041334
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IgorKonovalovНе скажите, Blazkowicz, не скажите. Может ТимоН селекторы будет использовать?
При чем здесь это? Я говорю что количество типов не особо влияет на количество очередей. Важна сама внешняя инфраструктура - количество продюсеров, консюмеров, отношения между ними и их производительность.
...
Рейтинг: 0 / 0
Integration via JMS как правильно?
    #38041342
ТимоН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczДа не при чем тут "типы" вообще. Зависит от консюмеров. А гомогенные данные проще анализировать в случае чего. Но это не так важно. Т.е. если у тебя один продюсер, один консюмер, то нафига тебе N очередей для N типов, если консюмер всё равно их поочереди обрабатывает?
Продюсеров > 1. Консюмеров пока нет.
Не хочу использовать один консюмер. Хочу столько сколько типов (выбирать по селектору). Если добавится новый тип, пишем еще один MDB и все.
...
Рейтинг: 0 / 0
Integration via JMS как правильно?
    #38041350
ТимоН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczПри чем здесь это? Я говорю что количество типов не особо влияет на количество очередей.
Утверждается, не мной, что один тип сообщения = одной очереди. Т.е. очередь конкретно под определенный тип сообщения и только.
...
Рейтинг: 0 / 0
Integration via JMS как правильно?
    #38041357
IgorKonovalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ТимоН,

Ну-ну... осталось вспомнить про DLQ. Вот туда зоопарк сваливается. Разбирай его там как хочешь - и по пропертям, и по контенту, и по черту лысому.
...
Рейтинг: 0 / 0
Integration via JMS как правильно?
    #38041377
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТимоНУтверждается, не мной, что один тип сообщения = одной очереди. Т.е. очередь конкретно под определенный тип сообщения и только.
Это не так. "Типы" сообщений вторичны. Важна сама организация продюсеров и консюмеров. Тут вообще не до конца понятно что у вас вкладывается в термин "тип".
Исходить нужно из
1. Простоты. Чем проще реализовать консюмеров-паблишеров-очереди и логику выборки, тот вариант и лучше.
2. Если консюмеры А получают только от паблишеров А, а консюмеры Б получают только от паблишеров Б, то резонный вопрос, зачем пхать всё в одну очередь и делать логику в селекторах, когда тут очевидно будет проще сделать 2 очереди.
3. Ну, и потом уже смотреть на типы. Чем "типичнее" типы :) в одной очереди, тем меньше логики в селекторах и проще управлять такой очередью, так как у неё меньше вовлеченных сторон.
...
Рейтинг: 0 / 0
Integration via JMS как правильно?
    #38041388
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нарисуйте диаграммы ваших вариантов. Подумайте возможны ли задержки со стороны консюмеров и на что они могут повлиять и т.п.
Ну, и Enterprise Integration Patterns, конечно же почитать. Сам никак не доберусь до неё, потому что особо не нужно на данном этапе.
...
Рейтинг: 0 / 0
Integration via JMS как правильно?
    #38041401
ТимоН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczЭто не так. "Типы" сообщений вторичны. Важна сама организация продюсеров и консюмеров. Тут вообще не до конца понятно что у вас вкладывается в термин "тип".
Уточняю:
TestMessage (type='students')
<xml>описание студента</xml>

TestMessage (type='food')
<xml>описание еды</xml>

Предполагалось создать одну очередь для интеграции в общем. Под каждый тип (type='students') создается конкретный MDB. Существует утверждение что так делать не кошерно, а нужно создать столько очередей сколько типов (type='students'). Это позволит избежать "чего-то" в будующем.
...
Рейтинг: 0 / 0
Integration via JMS как правильно?
    #38041437
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, вот допустим у нас есть Департамент обучения, Отдел кадров, и Кадровое агентсво. Они обмениваются данными по студентам.
Есть Столовая, Отдел Снабжения и поставщик. Они обмениваются данным о продуктах. Вопрос - нафига пихать всё в одну очередь?
Почему проблема отдела снабжения в один прекрасный день начнут влиять на работу отдела кадров?
Надо ещё смотреть как реализованы селекторы. Если сообщения нормально раскидать по таблице, так что селеторы найдут нужный тип по SQL запросу, то ОК. А если там тупой перебор? Загадили, например, всю очередь едой и селекторы студентов начнут тормозить. Если по какой-то админской причине очередь надо грохнуть-пересоздать. Вместо одной интеграции встанут сразу две. И т.п.
...
Рейтинг: 0 / 0
Integration via JMS как правильно?
    #38041506
IgorKonovalov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ТимоН,

На практике применяются оба варианта. Для абстрактной задачи или если Вы не можете для себя выбрать какой вариант более предпочтителен, то используйте N очередей.
...
Рейтинг: 0 / 0
Integration via JMS как правильно?
    #38041536
ТимоН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczНу, вот допустим у нас есть Департамент обучения, Отдел кадров, и Кадровое агентсво. Они обмениваются данными по студентам.
Есть Столовая, Отдел Снабжения и поставщик. Они обмениваются данным о продуктах. Вопрос - нафига пихать всё в одну очередь?
Почему проблема отдела снабжения в один прекрасный день начнут влиять на работу отдела кадров?

С этим нельзя не согласиться. Таким образом нас не должно пугать количство очередей?

BlazkowiczНадо ещё смотреть как реализованы селекторы. Если сообщения нормально раскидать по таблице, так что селеторы найдут нужный тип по SQL запросу, то ОК. А если там тупой перебор? Загадили, например, всю очередь едой и селекторы студентов начнут тормозить. Если по какой-то админской причине очередь надо грохнуть-пересоздать. Вместо одной интеграции встанут сразу две. И т.п.
Ну с этим вроде все в порядке, тестил JMeter'ом.
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Integration via JMS как правильно?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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