0. Goleff74 137 09.06.18 19:40 Сейчас в теме

RabbitMQ + 1С. Быстрый старт

Внешняя компонента для отправки сообщения из 1С в кролика. Сервис прослушивания и перенаправления сообщений из кролика в http или web-сервис.

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. kraynev-navi 377 10.06.18 07:45 Сейчас в теме
Я бы все-таки обратил внимание на разграничение доступа. Нужна хотя бы минимальная защита. Любая копия базы, снятая с рабочей, начнет слать в рэббит "левые" сообщения. Сэкономленные человеко-часы будут перечеркнуты "случайными" отправками платежных документов из баз разработчиков.
2. Goleff74 137 10.06.18 10:28 Сейчас в теме
(1)
Ну, это уже на уровне кода конфигураций контролировать. Либо ключи маршрутизации создавать вида <Строка базы 1><Строка базы 2>, или наплодить несколько узлов с именами Система отправителя в виде строк этих баз, и оттуда уже ключами маршрутизации перенаправлять в узел получателя. Простор для творчества.
А еще лучше не регистрировать компоненту на сервере разработчиков :)
3. Steelvan 10.06.18 11:53 Сейчас в теме
туториал = руководство, неуч
Yakud3a; Gureev; +2 20 Ответить
6. nixel 524 10.06.18 23:44 Сейчас в теме
(3) граммар наци живёт в ЖЖ. проследуйте туда.
ZhdanovR; ktb; amon_ra; pbazeliuk; webester; UniversaLL; +6 Ответить
12. Evil Beaver 5330 13.06.18 18:47 Сейчас в теме
4. s-coder 10.06.18 20:44 Сейчас в теме
Почему я должен скачивать за мани этих стар, чтобы попробовать?
5. Goleff74 137 10.06.18 23:01 Сейчас в теме
(4)
Вы не должны
Ganjubas; Alien_job; o.nikolaev; kote; Berckk; ABudnikov; igormiro; bsturtle; baton_pk; Evil Beaver; JohnyDeath; WizaXxX; ArchLord42; madonov; karpik666; ktb; pbazeliuk; jaroslav.h; evgefremov; 9-pm; ifal; t.v.s.; UniversaLL; +23 Ответить
7. Новиков 289 13.06.18 11:56 Сейчас в теме
Приветствую!

К Вашей цитате:
я не обнаружил сразу описания HTTP интерфейса Кролика


Не могли бы пруфом поделиться? Спасибо!
8. Goleff74 137 13.06.18 12:23 Сейчас в теме
10. Evil Beaver 5330 13.06.18 18:37 Сейчас в теме
(8) ой не, HTTP-API это прям совсем медленно, тем более, что по ссылке - администраторский API. Да, он позволяет отправлять, но это костылище. Используйте родных клиентов, работающих по протоколу AMQP. Например, наш <скрытая реклама детектед> :)
9. user634257_mryzhov 13.06.18 16:04 Сейчас в теме
В целом не видно в чем здесь выигрыш от Раббит.
30 тысяч сообщений в сутки - не является каким то запредельным параметром для стандартных файловых транспортов фтп, общая папка. Интересно менялась ли схема выгружаемых данных,обработка коллизий, обработка потери сообщений (по крайней мере не принятые пакеты хорошо бы не удалять из очереди или кидать в очередь сообщений с ошибками). Как я понял по коду компоненты, нет обработки исключений, т.е. сообщение в любом случае удаляется из очереди.
Открывает лог отправки данных в системе отправителе и смотрит в нем все статусы пакета данных (дата отправки, дата получения, ссылка на текст отправленных данных).
Проверяет логику формирования данных.
Подобную логику можно гораздо легче на стандартном обмене через файлы реализовать. А то усложняем там где ничего усложнять не требуется.
11. Evil Beaver 5330 13.06.18 18:40 Сейчас в теме
(9) дело в управлении этим хранилищем файлов. Рано или поздно, автоматизируя папку обмена и настраивая к ней доступ, вы напишете сервер очередей. Так может сразу начать с него?
artbear; Сурикат; +2 Ответить
13. user634257_mryzhov 14.06.18 16:21 Сейчас в теме
(11) На этапе когда нужен обмен между двумя базами - сервер очередей избыточен.
В описанном примере это именно такой случай - из-за применения Раббита осталось только еще больше не проработанных вопросов, которые до этого при обычном файловом обмене были решены. То есть мы существенно увеличили сложность решения (отдельный сервер очередей, внешние компоненты для обмена, ХТТП-сервис), функциональность та же, а качество хуже.

Rabbit - не серебрянная пуля:)

Я не рассматриваю случаи когда у нас сотни потребителей, распаралеленные очереди, несколько серверов очередей связанных между собой и разнородные среды для интеграции - тогда да я обеими руками за Раббит)
14. 1cProfit 25.06.18 15:49 Сейчас в теме
у кого-то есть готовая компонента для раббита ?
15. Goleff74 137 28.06.18 10:15 Сейчас в теме
(14)
Прикреплена к статье вместе с исходниками.
16. baracuda 3 26.07.18 12:36 Сейчас в теме
Правильно понимаю, что в основном это применяется для разработки сервисных шин данных? ESB?
Где еще можно применить связку?
17. Goleff74 137 26.07.18 14:13 Сейчас в теме
(16)
Например, распределение пиковой нагрузки. Пришло вам 100500 запросов в секунду и веб-сервер отказался работать. Засунули эти 100500 в очередь, сами указали сколько потоков параллельно обрабатываются из Кролика и в колбэк функцию вернули результаты запроса.
18. baracuda 3 26.07.18 15:16 Сейчас в теме
(17) ясно. спасибо за пример.
19. zarucheisky 30.07.18 11:29 Сейчас в теме
(0) ActiveMQ имеет встроенный REST API :)
Вовсе необязательно подсовывать кролика где ни попадя.
20. MherArsh 23 29.10.18 18:17 Сейчас в теме
А можно как то подписаться на события кролика?
21. Goleff74 137 29.10.18 18:19 Сейчас в теме
(20)
Дописывать / Переписывать приложенную службу.
22. MherArsh 23 29.10.18 18:40 Сейчас в теме
(21) не реализовано, понял, но вот в чем вопрос, как в контексте сервера можно подписаться на события, это не регламентное задание где периодически что то вызывается, все, а иметь запущенного клиента тоже не очень хорошо... у меня варианты кончились )
23. Goleff74 137 29.10.18 20:59 Сейчас в теме
(22)
Не понимаю вашей боли. Давайте пример, чтоли, что вы хотите получить.
24. MherArsh 23 30.10.18 11:01 Сейчас в теме
(23) хочу обработать события по конкретному каналу из кролика, как это сделать в контексте севера 1С, без запущенных клиентов 1С.
25. Goleff74 137 30.10.18 13:35 Сейчас в теме
(24)
При получении сообщения служба посылает http-запрос по указанному вами адресу. Клиентов никаких загружать не надо. Или вы под событиями понимаете что-то иное?
26. MherArsh 23 30.10.18 18:03 Сейчас в теме
(25) я сейчас не говорю про http, его нет, есть RabbitMQ, как 1С может получать данные из какой то очереди, при их появлении.
27. Goleff74 137 30.10.18 18:22 Сейчас в теме
(26)
Эм. Вы ведь прочитали публикацию?
Получателям 1С служба умеет отправлять данные двумя способами - в HTTP-сервис или в Web-сервис. Служба может поднимать множественное количество подписчиков на разные ключи маршрутизации и узлы, переправляя данные в http и/или web-сервис.

Не можете поднять веб-сервер, допишите службу, пусть напрямую в СКЛ пушит данные или КОМ-соединение поднимает и в него пуляет.
30. MherArsh 23 30.10.18 19:33 Сейчас в теме
(27) я читал, и все понял, и задал вопрос, может не по конкретной это теме но это про очереди+1с в целом, как решить вопрос я знаю, просто хочется послушать мысли умных людей по этому вопросу :)
28. artbear 1087 30.10.18 18:56 Сейчас в теме
(26) Обрати внимание на платную компоненту
https://silverbulleters.org/rabbitmq

Серьезно и быстро
29. artbear 1087 30.10.18 18:56 Сейчас в теме
(28) Работает напрямую с Реббитом через нативную компоненту 1С
31. MherArsh 23 30.10.18 19:42 Сейчас в теме
(29) спасибо за ссылку, не вариант
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Консультант-аналитик 1С
Санкт-Петербург
Полный день

Удаленный ИТ-журналист
Санкт-Петербург
По совместительству

Программист 1С
Санкт-Петербург
зарплата от 100 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата от 130 000 руб. до 150 000 руб.
Полный день