|
|
|
Integration via JMS как правильно?
|
|||
|---|---|---|---|
|
#18+
как правильно: - на каждый интеграционный процесс создаем очередь - одна очередь на несколько интеграционных процессов (не обязательно вообще одна), на каждый тип сообщения (JMSProperties) пишем свой обработчик как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2012, 12:11:17 |
|
||
|
Integration via JMS как правильно?
|
|||
|---|---|---|---|
|
#18+
Это уже ESB будет, а не JMS. Что с чем интегрируете? JMS реализует очереди в контексте JEE приложения, в нем очевидно кто создаёт и кто получает сообщения. Соответсвенно такого вопроса не возникает. Очередь лучше иметь под конкретного читателя. Т.е. чем более гомогенные данные в одной очереди, тем лучше. Но за исключением ситуации, когда одни и те же консюмеры вдруг должны читать из разных очередей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2012, 12:17:59 |
|
||
|
Integration via JMS как правильно?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczЭто уже ESB будет, а не JMS. ESB уже есть. Как раз она и будет в JMS складывать сообщения. BlazkowiczЧто с чем интегрируете? Web (Jboss) с сторонними системами. BlazkowiczОчередь лучше иметь под конкретного читателя. Т.е. чем более гомогенные данные в одной очереди, тем лучше. Но за исключением ситуации, когда одни и те же консюмеры вдруг должны читать из разных очередей. Меня в общем беспокоит тот факт что из спеки JMS используется минимум. А как же приоритеты и проперти? Не будет ли более правильно использовать второй вариант а не плодить 100500 очередей? Понимаю что какой то из паблишеров может генерить на порядок больше сообщений (приоритеты/отдельная "нагруженная очередь"). Есть ли вообще паттерн которого стоит придерживаться в таких случаях? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2012, 12:25:36 |
|
||
|
Integration via JMS как правильно?
|
|||
|---|---|---|---|
|
#18+
ТимоН, Создавайте столько очередей сколько вам надо. С точки зрения устройства большинства MOM-ов нет никакой разницы одна очередь или тысячи. Просто вопрос распределения по consumer-ам вы кладете или на MOM или на свою аппликацию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2012, 12:32:21 |
|
||
|
Integration via JMS как правильно?
|
|||
|---|---|---|---|
|
#18+
ТимоНА как же приоритеты и проперти? Не будет ли более правильно использовать второй вариант а не плодить 100500 очередей? Понимаю что какой то из паблишеров может генерить на порядок больше сообщений (приоритеты/отдельная "нагруженная очередь"). Есть ли вообще паттерн которого стоит придерживаться в таких случаях? Вот, Вы начинаете задумываться над конкретикой решения. Копните еще глубже и там уже будут конкретный продюсеры и консамеры, их взаимодействие, транзакции, повторные отправки, очереди отклоненных сообщений... Шаблоны есть, называются EIP (Enterprise Integration Patterns). Там и сообщения, каналы, пайплайны... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2012, 12:36:39 |
|
||
|
Integration via JMS как правильно?
|
|||
|---|---|---|---|
|
#18+
IgorKonovalovВот, Вы начинаете задумываться над конкретикой решения. Копните еще глубже и там уже будут конкретный продюсеры и консамеры, их взаимодействие, транзакции, повторные отправки, очереди отклоненных сообщений... Шаблоны есть, называются EIP (Enterprise Integration Patterns). Там и сообщения, каналы, пайплайны... Ок. Допустим у нас N типа сообщений, разной структуры, не большие по размеру. Мы предполагаем что количество сообщений не будет большим. Наш вариант: 1. N очередей 2. 1 очередь Почему 1 вариант лучше? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2012, 12:45:20 |
|
||
|
Integration via JMS как правильно?
|
|||
|---|---|---|---|
|
#18+
ТимоНОк. Допустим у нас N типа сообщений, разной структуры, не большие по размеру. Мы предполагаем что количество сообщений не будет большим. Наш вариант: 1. N очередей 2. 1 очередь Почему 1 вариант лучше? Да не при чем тут "типы" вообще. Зависит от консюмеров. А гомогенные данные проще анализировать в случае чего. Но это не так важно. Т.е. если у тебя один продюсер, один консюмер, то нафига тебе N очередей для N типов, если консюмер всё равно их поочереди обрабатывает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2012, 12:48:43 |
|
||
|
Integration via JMS как правильно?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczТимоНОк. Допустим у нас N типа сообщений, разной структуры, не большие по размеру. Мы предполагаем что количество сообщений не будет большим. Наш вариант: 1. N очередей 2. 1 очередь Почему 1 вариант лучше? Да не при чем тут "типы" вообще. Зависит от консюмеров. А гомогенные данные проще анализировать в случае чего. Но это не так важно. Т.е. если у тебя один продюсер, один консюмер, то нафига тебе N очередей для N типов, если консюмер всё равно их поочереди обрабатывает? Не скажите, Blazkowicz, не скажите. Может ТимоН селекторы будет использовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2012, 12:53:23 |
|
||
|
Integration via JMS как правильно?
|
|||
|---|---|---|---|
|
#18+
IgorKonovalovНе скажите, Blazkowicz, не скажите. Может ТимоН селекторы будет использовать? Да, буду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2012, 12:55:05 |
|
||
|
Integration via JMS как правильно?
|
|||
|---|---|---|---|
|
#18+
IgorKonovalovНе скажите, Blazkowicz, не скажите. Может ТимоН селекторы будет использовать? При чем здесь это? Я говорю что количество типов не особо влияет на количество очередей. Важна сама внешняя инфраструктура - количество продюсеров, консюмеров, отношения между ними и их производительность. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2012, 12:56:14 |
|
||
|
Integration via JMS как правильно?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczДа не при чем тут "типы" вообще. Зависит от консюмеров. А гомогенные данные проще анализировать в случае чего. Но это не так важно. Т.е. если у тебя один продюсер, один консюмер, то нафига тебе N очередей для N типов, если консюмер всё равно их поочереди обрабатывает? Продюсеров > 1. Консюмеров пока нет. Не хочу использовать один консюмер. Хочу столько сколько типов (выбирать по селектору). Если добавится новый тип, пишем еще один MDB и все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2012, 13:00:31 |
|
||
|
Integration via JMS как правильно?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczПри чем здесь это? Я говорю что количество типов не особо влияет на количество очередей. Утверждается, не мной, что один тип сообщения = одной очереди. Т.е. очередь конкретно под определенный тип сообщения и только. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2012, 13:03:50 |
|
||
|
Integration via JMS как правильно?
|
|||
|---|---|---|---|
|
#18+
ТимоН, Ну-ну... осталось вспомнить про DLQ. Вот туда зоопарк сваливается. Разбирай его там как хочешь - и по пропертям, и по контенту, и по черту лысому. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2012, 13:09:11 |
|
||
|
Integration via JMS как правильно?
|
|||
|---|---|---|---|
|
#18+
ТимоНУтверждается, не мной, что один тип сообщения = одной очереди. Т.е. очередь конкретно под определенный тип сообщения и только. Это не так. "Типы" сообщений вторичны. Важна сама организация продюсеров и консюмеров. Тут вообще не до конца понятно что у вас вкладывается в термин "тип". Исходить нужно из 1. Простоты. Чем проще реализовать консюмеров-паблишеров-очереди и логику выборки, тот вариант и лучше. 2. Если консюмеры А получают только от паблишеров А, а консюмеры Б получают только от паблишеров Б, то резонный вопрос, зачем пхать всё в одну очередь и делать логику в селекторах, когда тут очевидно будет проще сделать 2 очереди. 3. Ну, и потом уже смотреть на типы. Чем "типичнее" типы :) в одной очереди, тем меньше логики в селекторах и проще управлять такой очередью, так как у неё меньше вовлеченных сторон. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2012, 13:17:33 |
|
||
|
Integration via JMS как правильно?
|
|||
|---|---|---|---|
|
#18+
Нарисуйте диаграммы ваших вариантов. Подумайте возможны ли задержки со стороны консюмеров и на что они могут повлиять и т.п. Ну, и Enterprise Integration Patterns, конечно же почитать. Сам никак не доберусь до неё, потому что особо не нужно на данном этапе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2012, 13:21:02 |
|
||
|
Integration via JMS как правильно?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczЭто не так. "Типы" сообщений вторичны. Важна сама организация продюсеров и консюмеров. Тут вообще не до конца понятно что у вас вкладывается в термин "тип". Уточняю: TestMessage (type='students') <xml>описание студента</xml> TestMessage (type='food') <xml>описание еды</xml> Предполагалось создать одну очередь для интеграции в общем. Под каждый тип (type='students') создается конкретный MDB. Существует утверждение что так делать не кошерно, а нужно создать столько очередей сколько типов (type='students'). Это позволит избежать "чего-то" в будующем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2012, 13:28:44 |
|
||
|
Integration via JMS как правильно?
|
|||
|---|---|---|---|
|
#18+
Ну, вот допустим у нас есть Департамент обучения, Отдел кадров, и Кадровое агентсво. Они обмениваются данными по студентам. Есть Столовая, Отдел Снабжения и поставщик. Они обмениваются данным о продуктах. Вопрос - нафига пихать всё в одну очередь? Почему проблема отдела снабжения в один прекрасный день начнут влиять на работу отдела кадров? Надо ещё смотреть как реализованы селекторы. Если сообщения нормально раскидать по таблице, так что селеторы найдут нужный тип по SQL запросу, то ОК. А если там тупой перебор? Загадили, например, всю очередь едой и селекторы студентов начнут тормозить. Если по какой-то админской причине очередь надо грохнуть-пересоздать. Вместо одной интеграции встанут сразу две. И т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2012, 13:44:17 |
|
||
|
Integration via JMS как правильно?
|
|||
|---|---|---|---|
|
#18+
ТимоН, На практике применяются оба варианта. Для абстрактной задачи или если Вы не можете для себя выбрать какой вариант более предпочтителен, то используйте N очередей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2012, 14:09:45 |
|
||
|
Integration via JMS как правильно?
|
|||
|---|---|---|---|
|
#18+
BlazkowiczНу, вот допустим у нас есть Департамент обучения, Отдел кадров, и Кадровое агентсво. Они обмениваются данными по студентам. Есть Столовая, Отдел Снабжения и поставщик. Они обмениваются данным о продуктах. Вопрос - нафига пихать всё в одну очередь? Почему проблема отдела снабжения в один прекрасный день начнут влиять на работу отдела кадров? С этим нельзя не согласиться. Таким образом нас не должно пугать количство очередей? BlazkowiczНадо ещё смотреть как реализованы селекторы. Если сообщения нормально раскидать по таблице, так что селеторы найдут нужный тип по SQL запросу, то ОК. А если там тупой перебор? Загадили, например, всю очередь едой и селекторы студентов начнут тормозить. Если по какой-то админской причине очередь надо грохнуть-пересоздать. Вместо одной интеграции встанут сразу две. И т.п. Ну с этим вроде все в порядке, тестил JMeter'ом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.11.2012, 14:19:24 |
|
||
|
|

start [/forum/topic.php?fid=59&tid=2130555]: |
0ms |
get settings: |
16ms |
get forum list: |
24ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
64ms |
get topic data: |
16ms |
get forum data: |
4ms |
get page messages: |
76ms |
get tp. blocked users: |
2ms |
| others: | 308ms |
| total: | 524ms |

| 0 / 0 |
