BizTalk: очередь запросов на порт отправки - PullRequest
2 голосов
/ 15 декабря 2009

У меня есть порт отправки, идущий на веб-сервис. Самое большее, я хочу, чтобы за один раз отправлялось только 10 запросов. Можно ли это сделать в biztalk? Надеюсь, через конфигурацию?

Ответы [ 3 ]

4 голосов
/ 15 декабря 2009

Есть сообщение Ричарда Серотера , которое имеет дело с этим точным сценарием.

Вам необходимо установить максимальное количество соединений в файле btsntsvc.exe.config:

<add address = "*" maxconnection = "2" />

Где вы фильтруете по IP-адресу и устанавливаете для maxconnections то, что вам нужно.

В документации MSDN на Адаптер HTTP указано, что адрес может быть либо URL, либо IP, пример фрагмента конфигурации приведен ниже:

<configuration>
  <system.net>
    <connectionManagement>
      <add address = "http://www.contoso.com" maxconnection = "5" />
      <add address = "http://www.northwind.com" maxconnection = "2" />
    </connectionManagement>
  </system.net>
</configuration>

Затем вам нужно включить заказанную доставку в порту отправки, чтобы сторона BizTalk не превышала тайм-аут для ограниченного числа соединений.

Хотя это выглядит так, как будто это именно то, что вам нужно, я бы также рассмотрел какой-то шаблон оркестровки для управления этим, с контроллерной оркестровкой, которая ограничивает количество дочерних оркестровок "Отправить в службу", которые могут выполняться одновременно , Для меня, по крайней мере, было бы немного легче следовать без внешней документации.

0 голосов
/ 06 июля 2016

Несколько вещей, которые нужно учитывать в ответе Дэвида Холла

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

Чтобы избежать этого, мы использовали шаблон регулирования BizTalk Orchestration , который также был от Ричарда Серотера первоначально, где мы позволяем только определенному количеству оркестровок большого объема вращаться со скоростью время и оставление некоторых соединений свободными для вызовов / запросов с низкой задержкой.

Кроме того, параметр maxConnections указывается для каждого экземпляра хоста, поэтому вам также следует либо избегать наличия нескольких портов отправки на один и тот же сервер, находящийся на разных экземплярах хоста, либо если у вас есть несколько серверов BizTalk в группе, и вы не можете этого избежать, вы должны установить maxConnections = TargetServermaxConnections / Host Instances

0 голосов
/ 09 мая 2014

Если вы используете внутренний сайт, не нужно добавлять следующий синтаксис

Например, Ваша ссылка на веб-сервис http://example.com/ms/sample.aspx добавить адрес = "http://example.com" maxconnection =" 5 "

...