2009-03-15 1 views
1

Пожалуйста, рассмотрим следующий сценарий в BizTalk 2006:BizTalk порт/оркестровка фильтрации накладные расходы производительности

Полученное сообщение должно быть направлен на оркестровки или порт отправки в соответствии со следующими ограничениями

(Message.Type = "SomeType" AND Message.Sender = "SomeSender") 
OR 
(Message.Type = "SomeOtherType" AND Message.Sender = "SomeOtherSender" AND Message.IsSigned = true) 
OR 
(Message.Sender = "AnotherSender" AND Message.IsSigned = true) 
etc... 

Один из способов сделать это заключается в применении фильтров для оркестровых форм приема или отправки портов.

С другой стороны, я могу продвигать поле данных маршрутизации в контексте сообщения в пользовательских получать компонента трубопровода на основе полей сообщения, а затем применять только один ограничение на фильтр:

Message.Route = "Route A" 

Какой из них альтернативы - это менее дорогостоящее решение (ниже латентность)?

Заранее спасибо.

ответ

1

Между двумя вариантами я обычно выбирал фильтр оркестровки. Реализация подписки довольно быстрая, поэтому наличие нескольких сегментов для фильтрации не является огромной накладной.

Наличие компонента трубопровода и продвижение собственности, которая не гарантируется, чтобы быть быстрее, и является накладными расходами с точки зрения разработки и обслуживания.

На мой взгляд, есть один бит вниз, на фильтры оркестровки (но - из вашего вопроса он не кажется, что вы обязательно сделаете его лучше), и это тот факт, что правило скомпилировано (в отличие от порта отправки фильтры, например)

Если вам нужно, чтобы это было более динамичным, и вы можете написать свой компонент конвейера, чтобы он был конфигурируемым, что принесло бы вам некоторую пользу.

0

Главное, что повлияет на вашу задержку, - это количество точек сохранения (сохранение состояний в базе данных).

Если альтернатива 2 (продвижение «Маршрута» в конвейере) позволяет полностью вырезать оркестровку (или вам нужно что-то еще?) И позволить вам иметь чистое решение для обмена сообщениями (порт для порта), это «Быстрее, когда у вас есть оркестровка.

0

Если у вас есть класс отправителей (как вам кажется, вы это делаете), вы можете также рассмотреть реализацию роли/роли, которая даст вам дополнительную гибкость.

Смежные вопросы