Шина 1С: Отказоустойчивость, мониторинг и другие подводные камни

21.07.26

Интеграция - Перенос данных 1C

Разбираем, как подготовить Шину 1С к промышленной эксплуатации и обеспечить непрерывность интеграционных процессов при сбоях, обновлениях и недоступности отдельных узлов. Показываем варианты отказоустойчивой архитектуры – от подтверждения обработки сообщений до активно-пассивной и активно-активной схем с двумя экземплярами шины. Рассказываем, как контролировать инфраструктуру и потоки сообщений с помощью штатных и пользовательских метрик, а также как защитить продуктовую шину от случайного подключения копий баз с теми же учетными данными.

Зачем шине 1С нужна отказоустойчивость

 

Эта статья посвящена шине 1С и тому, как обеспечить ее отказоустойчивость.

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

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

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

 

Причины остановки интеграционных процессов

 

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

 

 

Первый и самый простой случай: мы отправляем сообщение, которое по какой-то причине не может быть обработано принимающей стороной.

Второй и третий случаи, по сути, связаны между собой. Нам может потребоваться обновить шину: остановить ее, а затем запустить заново, что занимает какое-то время. Либо нужно провести определенные манипуляции с хостом, на котором развернута шина.

Последний случай – так называемый «эффект экскаватора», когда в какой-то момент просто теряется сеть.

Чтобы понять, как решать эти проблемы, нужно учитывать специфику работы шины.

 

Delivery Acknowledgement (ACK)

 

 

На изображении представлена классическая схема: база 1С, шина, база 1С. Одна база отправляет сообщение, другая его принимает. Все было бы хорошо, но шина работает асинхронно.

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

Одно из решений – подтверждать доставку и обработку сообщения с помощью отдельного тикета. Получив и успешно обработав сообщение, принимающая сторона отправляет ответ. Этот ответ может прийти через 20 или 30 минут.

Если шина сломалась, мы не получаем тикет и можем переотправить сообщение после того, как шина заработает.

У этого способа есть и преимущества, и недостатки.

Первый недостаток – дополнительные транзакции. Тикет все равно является отдельной транзакцией. Программисту нужно провести определенную работу, а в системе появляется небольшая дополнительная нагрузка.

Второй недостаток – простой во время недоступности шины. Мы сможем переотправить сообщение, но, если шина недоступна, например, 30 минут, все это время бизнес-процесс не работает.

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

 

Active–Passive High Availability

 

Следующий этап – развертывание второго экземпляра шины.

 

 

Процесс интеграции – это объект метаданных в 1С, который активно взаимодействует с шиной. Кредами этого процесса можно управлять не только интерактивно. Программно можно указывать адрес шины и секрет.

Предположим, первая шина работает. Каким-то образом – о способах определения доступности поговорим позднее – мы узнаем, что она стала недоступна. При этом нам известен адрес второй шины, которая уже развернута и просто ждет. Она является копией первой шины.

После обнаружения сбоя все сообщения начинают идти через второй экземпляр. Такая схема позволяет избежать простоя: первую шину можно остановить для обновления, пока вторая продолжает работать.

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

Именно поэтому нужна тикет-система. Если подтверждение обработки не пришло, сообщение впоследствии будет переотправлено.

Однако активно-пассивная схема тоже не является панацеей.

 

 

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

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

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

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

 

Active–Active High Availability

 

Эту проблему можно решить с помощью активной отказоустойчивой системы.

 

 

В самой конфигурации 1С можно создать дубль процесса интеграции. Если процессов несколько, дублируются все.

Первый процесс интеграции настраивается на первую шину, а второй – на вторую. В этом случае неважно, из какой шины придет сообщение: база 1С сможет его обработать.

Если один из экземпляров шины ломается, процесс интеграции, который был с ним связан, программно переопределяется и подключается ко второй, работающей шине.

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

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

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

 

 

В случае с RabbitMQ обе шины читают одну и ту же очередь, и все сообщения поступают в одну базу через оба экземпляра шины. Здесь никаких проблем не возникает: схема нормально работает.

 

Availability Control

 

Следующий вопрос – как определить, доступна ли шина.

 

 

Классический вариант – проверить специальный адрес: hostname и используемый по умолчанию порт. Через heartbeat можно получить ответ «ОК» либо увидеть, что шина запускается или недоступна.

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

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

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

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

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

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

Служебные тикеты обязательно нужно отправлять с Lifetime, то есть со временем жизни.

Предположим, один из экземпляров недоступен в течение суток. Все это время 1С отправляет сообщения: «Ты доступна? Ты доступна? Ты доступна?» В результате накапливаются тысячи сообщений. Когда шина оживает, она начинает тысячу раз отвечать: «Да, теперь я доступна».

Это изменяет профиль нагрузки и создает совершенно ненужную работу. Поэтому достаточно задать Lifetime в 20–30 секунд.

 

Итоговая схема

 

В итоге первоначальная проблема решается следующим образом.

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

Второе – развертывание двух экземпляров шины и двух процессов интеграции.

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

 

 

Шина 1С поддерживает не только асинхронные запросы и работу через MQ, Kafka, RabbitMQ и другие подобные инструменты. Она также может принимать HTTP-запросы.

Если развернуто два экземпляра, HTTP-запросы масштабируются достаточно просто. Перед шинами ставится балансировщик – например, HAProxy, Nginx или другое решение. Он также определяет доступность экземпляров и распределяет между ними сообщения.

 

Мониторинг шины 1С

 

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

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

 

 

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

Uptime Kuma – достаточно легковесная, неплохая и мощная система мониторинга. Взаимодействовать с ней через API немного сложно, но для небольшой инфраструктуры ее вполне можно эксплуатировать.

Zabbix – старый добрый инструмент, который знают практически все. О нем подробно говорить не нужно.

Более современный стек – системы для работы с временными рядами: VictoriaMetrics, Prometheus и другие решения. Как правило, их данные визуализируются в Grafana.

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

Также проверяется доступность порта. Если экземпляр запущен, порт занят и прослушивается.

Отдельно контролируется статус службы – службы Windows или Linux. Например, VictoriaMetrics может по умолчанию передавать в метриках статусы запущенных служб.

Также настраивается и контролируется health check.

 

Штатный мониторинг

 

Разработчики шины реализовали современный формат OpenMetrics.

 

 

Получить штатные метрики можно по адресу, в котором указываются имя сервера, порт, applications, имя созданного приложения, затем service runtime и metrics.

После обращения к этому адресу возвращается полный список предопределенных метрик, которые шина 1С предоставляет из коробки. В него входят счетчики сообщений, ошибок и недоставленных сообщений.

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

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

 

Свой мониторинг

 

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

 

 

На изображении представлены скриншоты из веб-интерфейса шины, а не из платформы 1С.

В шине можно реализовать классический регистр сведений и записывать в него необходимые данные. Также можно создать собственный HTTP-сервис – поднять endpoint, доступный по адресу, в котором указываются hostname, используемый порт, application, имя базы и имя приложения. Дальнейшая часть API определяется разработчиком.

Мы создали сервис InfoMetrics, через который передаются дополнительные метрики в формате OpenMetrics.

Причину разработки такого сервиса хорошо видно при сравнении штатного и пользовательского мониторинга.

 

 

В штатном мониторинге отображаются имя сервиса интеграции, например ПроАпдекс:: MultyESB::Основной::monitoring, имя канала – ch_mon_1c_to_esb – и общее количество сообщений: 3 238.

Мы видим, что через канал прошло 3 238 сообщений. Но в канале участвуют две стороны, а штатная метрика не показывает распределение между ними.

Есть вероятность, что один участник отправил все 3 238 сообщений, а получатель не получил ни одного. Возможен и другой вариант: отправитель и получатель отработали нормально. По одному общему счетчику этого определить нельзя.

 

 

В собственном мониторинге мы добавили измерение по участнику и видим разделение. Например, 1 619 сообщений отправлено и 1 619 получено. В сумме получается то же значение – 3 238, но теперь можно проверить, действительно ли количество отправленных сообщений равно количеству полученных.

Так мы получаем дополнительные разрезы аналитики. Можно создавать практически любые бизнес-метрики, отправлять их из 1С в шину, передавать в Prometheus и визуализировать в Grafana.

 

Подводный камень №4

 

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

 

 

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

Расследовать, куда делось сообщение, очень сложно. В логах 1С видно, что сообщение было передано определенному секрету и идентификатору, а получатель якобы его получил. При этом в самой базе-получателе обнаруживается, что не хватает примерно половины сообщений.

Найти, кто еще подключился под этими кредами, практически нереально. Приходится изучать логи, смотреть iptables и использовать другие инфраструктурные инструменты.

Мы реализовали мониторинг непосредственно в каждой базе 1С. База передает информацию о том, под какими кредами она работает и какой Connection String слушает.

Благодаря этому видно, кто является отправителем, а кто получателем.

Например, тестовая ESB может дважды подключаться под разными кредами. Это нормальное поведение, связанное с отказоустойчивостью.

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

 

Причины и решения

 

 

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

Такие ситуации возникали и при переезде или смене платформы: базу перенесли, а старый экземпляр забыли выключить.

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

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

Из Dev-контура не должно быть возможности подключаться к продовой шине. Необходимый порт должен быть полностью закрыт. Это значительно повышает безопасность системы.

Второй момент – уведомления. Система должна мониторить дублирующие подключения. Если такая ситуация возникла, необходимо срочно отправить сообщение на электронную почту, в Telegram, корпоративный мессенджер, через webhook или другим способом.

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

Существуют и более проактивные подходы. Шина может самостоятельно обнаружить, что к ней подключились два сервиса с одинаковыми кредами, сформировать сообщение и отправить одному из экземпляров команду: «Отключись и не слушай меня». База получает это сообщение, отключается от шины и одновременно отправляет уведомление.

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

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

Но здесь есть важный нюанс. К одной и той же базе можно подключаться разными способами: по IP-адресу, hostname или полному FQDN с доменом.

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

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

Система определяет, что этот сервер не может работать с шиной, и перестает получать сообщения. В результате возникает непонятное поведение: в один момент сообщения приходят, а в другой – нет.

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

 

*************

Статья написана по итогам доклада (видео), прочитанного на конференции INFOSTART TEAM EVENT.

Инфостарт Tech Event 2026

Инфостарт A&PM Event 2026

Вступайте в нашу телеграмм-группу Инфостарт

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Перенос данных 1C Разработчик 1С:Предприятие 8 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос документов, начальных остатков и справочной информации из УПП 1.3 в ERP 2 | из УПП 1.3 в УТ 11 | из УПП в КА 2 | Правила конвертации (КД 2) | Более 360 предприятий выполнили переход с использованием этого продукта! | Сэкономьте время - используйте готовое решение для перехода! | Позволяет перенести из УПП 1.3 в ERP / УТ 11 / КА 2 всю возможную информацию | В переносе есть фильтр по организации и множество других опциональных параметров выгрузки | Есть несколько алгоритмов выгрузки остатков на выбор

58000 руб.

04.08.2015    193330    467    309    

466

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена | Можно выполнить переход с УПП на БП 3 или запускать выгрузку данных за выбранный период времени | Переносятся документы, начальные остатки и вся справочная информация | Есть фильтр по организации и множество других параметров выгрузки | Поддерживается несколько сценариев работы: как первичный полный перенос, так и перенос только новых документов | Перенос данных возможен в "1С: Бухгалтерия 3.0" версии ПРОФ, КОРП или базовую | Переход с "1С: УПП1.3" / "1С:КА 1.1" на "1С:БП3.0" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!

50050 руб.

25.02.2015    191455    375    295    

430

SALE! 15%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен и синхронизацию в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

27633 руб.

12.06.2017    163832    994    329    

488

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Переносите справочную информацию, остатки и документы из УПП 1.3 в Бухгалтерию 3.0 с помощью готовых правил. Переносится более 50 видов документов. Простой интерфейс и понятные настройки.

42000 37800 руб.

15.12.2021    36194    265    68    

202

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Разработчик 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой

58000 руб.

15.04.2019    86728    232    182    

168

Перенос данных 1C Взаиморасчеты Оптовая торговля Логистика, склад и ТМЦ Файловый обмен (TXT, XML, DBF), FTP Системный администратор Разработчик 1С:Предприятие 8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

Можно проверить до покупки, оставьте заявку! Воспользовались более 268 компаний! Перенос данных из УТ 10.3 в УТ 11 | из УТ 10.3 в КА 2 | из УТ 10.3 в ERP. Решение для перехода с УТ 10.3. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам.

50200 руб.

24.04.2015    210088    180    253    

299

Работа с интерфейсом Анализ учета Мониторинг 1С:Предприятие 8 1С 8.3 1C:Бухгалтерия 1С:Бухгалтерия 3.0 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:Зарплата и Управление Персоналом 3.x 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 Платные (руб)

Создайте свой функциональный интерфейс в любой конфигурации 1С с помощью расширения Infostart Dashboard. Настраивайте панели виджетов с метриками, индикаторами и показателями на начальном экране. Узнайте возможность внедрения подсистемы у себя в конфигурации с помощью бесплатной обработки "Анализ внедрения подсистемы 1С Infostart Dashboard"!

31720 руб.

27.03.2025    90702    67    44    

77

Файловый обмен (TXT, XML, DBF), FTP Перенос данных 1C Системный администратор Разработчик Бухгалтер 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Платные (руб)

Обработка не только формирует начальные остатки по всем счетам на нужную дату (экономя время на свёртке базы БП 3), но и полностью переносит справочные данные и документы за заданный период. Гибкая настройка включает фильтр по организациям и множество параметров выгрузки. Работайте в удобном формате: выполните однократный полный переход или настройте регулярную догрузку только новых документов из БП 3 в БП 3.0. Интеграция правил конвертации в план обмена гарантирует точную выгрузку исключительно зарегистрированных объектов.

70760 руб.

10.04.2026    1237    3    8    

2
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. gybson 13 22.07.26 08:57 Сейчас в теме
Очень дорогой и проблемный каталог обмена файлами. Не везет шине с внедрениями.
2. gybson 13 22.07.26 09:11 Сейчас в теме
3. rozer 323 22.07.26 10:02 Сейчас в теме
ACK ? Зачем вообще тогда мне шина для обмена между одним источником и одним приемником? Чем это будет отличаться например от простого soap или http-сервиса?
11. Sibars 441 22.07.26 15:36 Сейчас в теме
(3) soap и http - синхронные вызовы. amqp (шина) - асинхронные.
Из источника можно отправить сообщение, даже при недоступности приемника. Как приемник будет доступен - он получит сообщение
4. shved 22.07.26 10:56 Сейчас в теме
Как лучше реализовать автоматическую смену сервера и/или кредов в копиях баз? //для http-сервисов, сейчас при запуске проверяется строка подключения и если <> Рабочая, то меняются вэб-сервер в хране
12. Sibars 441 22.07.26 15:45 Сейчас в теме
(4) Создать справочники Кластеров Шин и их соответствия с объектами метаданных "Процессы Интеграции", определить какой инстанс по умолчанию (при штатной работе) соответствует Процессу.
Сделать "чекер" состояний, и периодически проверять доступность (например харнить в регистре сведений). Далее проверять состояние и в случае недоступности - переводить процесс интеграции на доступный инстанс. И, если текущий инстанс не является значением по умолчанию, и тот, что основной стал доступный - переводить обратно.
5. shved 22.07.26 11:02 Сейчас в теме
Поставили задачу переводить все http-сервисы на Шину. И пока вижу только минусы. Гарантированная доставка и так реализована в локальных кэшах (РС) при недоступности получателя и повторной отправке. А с Шиной наоборот придется допиливать проверку доставки, а значит и тот же кэш недоставленных все равно реализовывать в отправителе...
6. rozer 323 22.07.26 12:34 Сейчас в теме
(5)
Шиной наоборот придется допиливать проверку доставки

зачем, умный дядя так сказал ? Вы много видели реализаций на кролике где нужен ACK?
7. shved 22.07.26 12:38 Сейчас в теме
(6) в принципе не видел кролика...
Ок. Подскажите как узнать отправителю, что пакет дошел до получателя (не до шины)?
8. rozer 323 22.07.26 12:53 Сейчас в теме
(7) На то она и шина что это гарантированная доставка. Уж два года как вместо http-сервиса с B2B переделал на шину. Сервис интеграции -это таблички в ИБ 1c базы и шина гарантированно их забирает, пишет в свою ИБ и доставляет, на том конце тоже самое в 1с. Пару раз бывало что шина странно глючила (помогал рестарт) но чтобы потеряла сообщения такого не было. Да, в некоторых источниках описывают ACK но может это обмен с атомной электростанцией где подобное недопустимо но в обычных продах без ACK все живут.
9. rozer 323 22.07.26 13:02 Сейчас в теме
+ (8) Да и реализация квитирования это может быть очень нетривиальная задача и плюс нужно хранить чанки до ACK отдельно,механизм переотправки и чистить не забывать...гемор короче. Так есть ПланОбмена, считал изменения, сконвертировал и "плюнул" в шину, очистил регистрацию ... и забыл. C http также, но очистил если с того конца ответили OK, тоже не проблема.
10. shved 22.07.26 13:21 Сейчас в теме
Пока кажется страшно, что теряешь контроль.
Если все ответят 200, но получатель не отработает как надо, то где искать концы...
Пока хочется всё и вся контролировать через РС в обоих базах + выгрузка в файлы/логи в самой шине... (говорят там сложно с логирование/журналированием) // еще читаю желтые книги
Для отправки сообщения требуется регистрация/авторизация