Изменения

Перейти к навигации Перейти к поиску

Транспорт

6690 байт добавлено, 04:22, 26 ноября 2019
== WCF ==
WCF протокол Транспорта DPA - это бинарный протокол, использующий стек TCP/IP.
В настройках WCF протокола два ключевых параметра - IP-адрес и порт подключения. DPA сервер использует эти параметры, чтобы установить соединение к получателю ''Событий'', которым , как правило , выступает DPA хост.
В качестве IP-адреса получателя можно указать localhost (если DPA хост и DPA сервер установлены на одну машину), а так же сетевое имя. По умолчанию используется TCP-порт 45618.
PS C:\> Get-MsmqQueue -Name "QueueName" -QueueType Private | Set-MsmqQueueAcl -UserName "DOMAIN\User" -Allow Peek,Receive,Send
</pre>
 
Обратите внимание, для использования Транспорта MSMQ между DPA сервер и DPA хост необходимо использовать очередь с предопределенным именем:
 
<b><pre>Xtensive.Project109.Host.DPA.Queue</pre></b>
MSMQ имеет встроенные механизмы гарантии доставки посылок получателю.
<span style="color:blue"><b>TODO:</b>Варианты настройки =''В каких случаях требуется добавить дополнительный (второй, третий и т.д.) Транспорт?''<br/span> ПроверитьВо-первых, что используются именно приватныедополнительный Транспорт может потребоваться при передаче данных DPA сервера в стороннюю систему.Во-вторых, а не публичные очередидопустимо настроить один DPA сервер для отправки данных в два и более DPA хоста. Тогда на каждый DPA хост требуется настроить отдельный экземпляр Транспорта
''Можно ли для конкретного события выбрать Транспорт, который будет использован для его передачи?''<br/>Да, пример настройки:<br/>[[File:SystemMenu.png]] => [[File:MonitoringMenu.png]] => DPAhost \ DPAserver \ Драйвера \ <Драйвер> \ Events \ <Событие> \ Транспорт Выбрать нужный Транспорт и нажать "Сохранить": [[File:EventSelectTransport.png]]  ''Можно ли для события указать более одного Транспорта?''<br/>Да, в таком случае копии данных по этому событию будут отправляться в каждый выбранный Транспорт.  ''Можно ли настроить второй Транспорт для обмена между DPA сервер и DPA хост?''<br/><span style="color:bluered">Крайне не рекомендуется настраивать более одного Транспорта между конкретными экземплярами DPA сервера и DPA хоста. Это может привести к дублированию данных, искажению порядка событий и другим нежелательным эффектам.</span>  ''Как изменить параметры Транспорта?''<br/>Параметры Транспорта возможно изменить только через файл конфигурации '''DpaServer.config'''.<br/>:1. Остановите службу DPA сервера.<pre>net stop DpaServer</pre>:2. Файл конфигурации находится по следующему пути:<pre>C:\ProgramData\X-tensive\DPA\Config\DpaServer.config </pre>:3. Обязательно создайте резервную копию файла конфигурации.:4. Настройки транспорта находятся в узле ''root \ transports'':<pre><?xml version="1.0"?><root xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ver="1"> <drivers> ... </drivers> <states> ... </states> <transports> <transport transportIdentifier="0b75081d-210c-4b01-885b-154e8104503e" name="WCF" transportType="WcfTransport" restPeriod="00:00:01" resendingPeriod="00:00:15"> <wcfTransport ipAddress="localhost" port="45618" /> <b/transport>TODO <transport transportIdentifier="a241a03e-a2dd-48b4-8611-e15023b07b26" name="MES-queue" transportType="MsmqTransport" restPeriod="00:00:01" resendingPeriod="00:00:15"> <msmqTransport machine="localhost" queue="MES-queue" /> </transport> </transports></broot></spanpre> Как задается, какую очередь слушает :5. Измените настройки и сохраните файл конфигурации.:6. Запустите службу DPA хост?сервера.<pre>net start DpaServer</pre>
= Настройка =
= Гарантия доставки =
Если по какой-то причине отправка данных по Транспорту не возможна, например, DPA хост временно недоступен, идет установка обновления и т.д., данные не будут утеряны. ''События'' и ''Пакеты'' будут накапливаться во внутренней FIFO очереди на отправку. В зависимости от количества драйверов, подключенных к DPA серверу, а так же в зависимости от частоты изменения данных по ''Событиям'', очередь позволяет вместить данные от нескольких часов до нескольких дней работы.
 
[[File:transportBuffering.png]]
 
 
При восстановлении связи накопленные данные будут переданы, очередь будет опустошена:
 
[[File:transportEmptying.png]]
 
 
<span style="color:red"><b>Внимание!</b></span> Для работы внутренней FIFO очереди используется оперативная память. Данные не выгружаются в файловую систему, базу данных или другие хранилища. Если до отправки сообщений получателю DPA сервер будет остановлен, содержимое очереди будет утеряно.
 
= Диагностика =
На что нужно обратить внимание в первую очередь при возникновении проблем с получением данных по Транспорту из DPA сервера:
:1. Лицензия должна быть установлена и активна
:2. Убедиться, что ''События'' активны:
[[File:SystemMenu.png]] => [[File:MonitoringMenu.png]] => DPAhost \ DPAserver \ Драйвера \ <Драйвер> \ Events \ <Событие>
:3. Убедиться, что Транспорт для ''Событий'' настроен корректно:
[[File:SystemMenu.png]] => [[File:MonitoringMenu.png]] => DPAhost \ DPAserver \ Драйвера \ <Драйвер> \ Events \ <Событие> \ Транспорт
:4. При использовании протокола WCF убедиться, что IP-адрес и порт получателя установлены корректно:
[[File:SystemMenu.png]] => [[File:MonitoringMenu.png]] => DPAhost \ DPAserver \ Транспорт \ WCF
:5. Используйте счетчики производительности Транспорта для анализа проблем доставки и производительности:
[[File:SystemMenu.png]] => [[File:MonitoringMenu.png]] => DPAhost \ DPAserver \ Транспорт \ WCF => Счетчики производительности

Навигация