136
Рейтинг

dmitry-irk38



  •   Регистрация: 27.12.2012 (11 лет назад)

  •   Был(а) на сайте: 25.04.2024

Друзья
  • Sergey S
  • Юлий Усов
  • Василий Попов
  • Роман Воронин
  • Алик Трахман
  • Александр Воронов
  • dsfsdf sadfsdf
  • Александр Волков
Подписчики 26

Группы

Профессиональный разработчик

Рейтинг 136

Микросервисы на Golang. Часть 6. Докеризация, Начальная оркестрация, CD\CI

Статья Для всех Конфигурации 1cv8 Бесплатно (free) Нет файла DevOps и автоматизация разработки

Создадим микросервис, поместим его в докер, проведем его масштабирование на нескольких виртуальных машинах с помощью оркестрации Docker Swarm, выполним также CD\CD микросервиса с помощью GitHub Action (Микросервис взят с прода, обрезан лишний функционал) будет показан пример его взаимодействия с 1С клиентом.

21.06.2021    3812    dmitry-irk38    3       

6

Интеграционная прослойка(middleware) на Golang. Часть 5 - Обмен с 1С через HTTP-сервисы платформы

Статья Программист Платформа 1С v8.3 Бесплатно (free) Нет файла WEB-интеграция

В этой статье научим прослойку отправлять данные в 1С, для этого используем HTTP-сервисы платформы. Обменяемся данными с новым справочником Клиенты. Но главное создадим HTTP-сервис для получения сообщений из очереди RabbitMQ.

28.09.2020    6191    dmitry-irk38    4       

17

Взаимодействие 1С со сторонними продуктами посредством REST и Golang (middleware). Часть 4 - NoSQL (MongoDB, Redis)

Статья Программист Бесплатно (free) Нет файла DevOps и автоматизация разработки

Если в ИТ-инфраструктуре есть NoSQL решения, с которыми требуется взаимодействовать из 1С, можем использовать прослойку на Golang в стиле RESTful

21.09.2020    8202    dmitry-irk38    12       

36

Взаимодействие 1С со сторонними продуктами посредством REST и Golang (middleware). Часть 3 - ElasticSearch

Статья Программист Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free) Нет файла Журнал регистрации

Как в статье №1 этого цикла выгрузим через прослойку журнал регистрации (xml формат) в ElasticSearch. Статья будет иметь практическую направленность в минималистичном стиле

14.09.2020    4462    dmitry-irk38    4       

17

Взаимодействие 1С со сторонними продуктами посредством REST и Golang (middleware). Часть 2 - Docker

Статья Для всех Бесплатно (free) Нет файла DevOps и автоматизация разработки

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

07.09.2020    5784    dmitry-irk38    0       

18

Взаимодействие 1С со сторонними продуктами посредством REST и Golang (middleware). Часть 1 - RabbitMQ

Инструменты и обработки Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m) Внешняя обработка (ert,epf) WEB-интеграция

Часто 1С не может взаимодействовать со сторонними продуктами, например для шины предприятия RabbitMQ создают внешние компоненты. В статье предлагается новомодный подход REST API реализованный на приложении прокладке Middleware, язык тоже трендовый Golang. В статье немного познакомлю Вас с языком Golang, опишу интеграцию на стороне 1С (8.3.16.1502). Если статья зайдет, напишу как выгружать журнал регистрации по этой схеме в ElasticSearch

1 стартмани

31.08.2020    24091    23    dmitry-irk38    18       

42

Комментарии

ОбменВзаимодействие 1С со сторонними продуктами посредством REST и Golang (middleware). Часть 1 - RabbitMQ#17 09.08.23 15:24
(16) Да, просто исползовать две базы 1С передавая напрямую данные через HTTP-сервисы :)) В серии статей описываются специфичные коннекторы для RabbitMQ, Redis и т.п Также можно использовать бля больших данных, где нужна очередь и многоточность. Например я использовал решение для взаимодествия с 1500 базами 1С
ПубликацииМикросервисы на Golang. Часть 6. Докеризация, Начальная оркестрация, CD\CI#2 12.12.21 18:24
(1) Тут идея в том что сама 1С разбивает монолитную платформу на контейнеры, где каждый контейнер отвечает за разные функции. Нужно человеку маштабирование до 10 000 пользователей, добавил реплик\нодов и система держит нагрузку. Некоторые компании ушли от монолита и поставляют микросервисную платформу например SAS
ПубликацииМикросервисы на Golang. Часть 6. Докеризация, Начальная оркестрация, CD\CI#0 21.06.21 9:04
Создадим микросервис, поместим его в докер, проведем его масштабирование на нескольких виртуальных машинах с помощью оркестрации Docker Swarm, выполним также CD\CD микросервиса с помощью GitHub Action (Микросервис взят с прода, обрезан лишний функционал) будет показан пример его взаимодействия с 1С клиентом.
ОбменВзаимодействие 1С со сторонними продуктами посредством REST и Golang (middleware). Часть 1 - RabbitMQ#14 16.04.21 16:42
(13) Если адреса, порты и ресурсы в URL указаны верно, то остановка произойдет на точке, которая на строке 90. Судя по скриншоту складывается ощущение, что приложение вообще не запущенно(в режиме отладки). Я пользуюсь обычно VS Studio
AdminВзаимодействие 1С со сторонними продуктами посредством REST и Golang (middleware). Часть 3 - ElasticSearch#4 06.10.20 20:59
(3) Протестировал производительность 2 миллиона записей примерно 2GB грузились 3 часа, а с bulk insert по 10 000 записей в порции, за 10 минут.

Сейчас 2 GB грузит за 15 минут, 5 минут на парсинг XML, его тоже пришлось переписать т.к старый алгоритм падал на 1GB (недостаточно памяти).

Возможно, можно еще ускориться если поставить на сервер и поиграть с размером bulk insert, но 15 минут для журнала 2GB кажется приемлемым.

Можно еще попробовать сживать файлы в Zip, чтобы по сети они быстрей передавались если это все на разных физических\логических машинах размещается.
ОбменИнтеграционная прослойка(middleware) на Golang. Часть 5 - Обмен с 1С через HTTP-сервисы платформы#4 06.10.20 11:09
(3) Вот далеко ходить не нужно на днях у функции глобального контекста ВыгрузитьЖурналРегистрации() обнаружил, что если в параметр МаксимальноеКоличество задавать число меньшее 10 000, то он все равно будет всегда грузить 10 000. Узнал я это когда начал парсить выгружаемые файлы. В СП информации этой нет, в методической информации тоже нет. Я в начале вообще решил, что этот параметр не работает, когда вместо 50 записей, которые я выставил выгрузилась очень много, как оказалось 10 000
ОбменИнтеграционная прослойка(middleware) на Golang. Часть 5 - Обмен с 1С через HTTP-сервисы платформы#2 05.10.20 11:05
(1) Когда-то на платформе было ограничение в 65000 символов(или строк) на УстановитьТелоКакСтроку в свое время на этом собаку съел, можно протестировать кончено, что сейчас со строками. Причем просто режет в наглую и ничего не говорит платформа.
Сейчас появилось ПолучитьТелоКакПоток, что я иногда использую, но УстановитьТелоКакПоток пока не реализовали видимо, это позволяет без создания файла через оперативку выполнять операции и вероятно избежать ограничения строка на 65000 символов.
ОбменИнтеграционная прослойка(middleware) на Golang. Часть 5 - Обмен с 1С через HTTP-сервисы платформы#0 28.09.20 9:30
В этой статье научим прослойку отправлять данные в 1С, для этого используем HTTP-сервисы платформы. Обменяемся данными с новым справочником Клиенты. Но главное создадим HTTP-сервис для получения сообщений из очереди RabbitMQ.
ОбменВзаимодействие 1С со сторонними продуктами посредством REST и Golang (middleware). Часть 4 - NoSQL (MongoDB, Redis)#11 24.09.20 21:00
(10) Вероятно можно взять одну из библиотек для Golang из https://jwt.io/ и развернуть. Но тут нужен конкретный кейс, что-то получить куда-то отправить.
ОбменВзаимодействие 1С со сторонними продуктами посредством REST и Golang (middleware). Часть 4 - NoSQL (MongoDB, Redis)#9 24.09.20 13:15
(8) Я немного ковырял пакет с JWT я так понимаю имеется ввиду JSON Web Tokens, т.е хотите через прослойку получать токен или раздавать?

Кстати realm не так прост, я думал это встроенный в коробку функционал, а оказалось сторонний продукт, для которого еще и Java-компилятор надо ставить и настройки там что-то собрать.

Чтобы развернуть как веб-службу под Windows тоже есть некоторые моменты, например нужна где-то хранить настройки т.к какая-то папка или системный реестр, нужно страницы html с настройками тоже где-то хранить. т.е нужна какая-то "установка"

Если сервер на Uinux-пободбой ОС то вероятно COM отвалится.