объёмы данных на сайт.
Допустим, есть 1С, есть база товаров.
Насколько корректно загружать товары из 1С на сайт через json по API сайта (то есть по HTTP запросу)?
Объём данных ~10мб (json'а), но это наверняка не предел, то есть нужно сделать решение, которое подразумевает загрузку еще более больших объёмов информации.
Может нужно сохранять в файл, и отправлять это через файл, или все-таки как параметры POST запроса, или..?
Надеюсь, есть человек который с этим сталкивался/знающий, который предложит решение этого вопроса
Можно через csv-формат
Большие Json плохо. Во-первых для сети. Во-вторых «все или ничего» и запаришься дебажить. Есть более «правильный» способ, есть более «простой». Более правильный - подрубить кафку и научить 1с писать туда независимыми событиями. В асинх консьюмиш все и обрабатываешь. Для ряда оптимизаций можно дать батчи. Получается очень быстро и эффективно
Самый эффективный способ это xml + бэк процесс. Так как сказал товарищ выше json требует целостности всего пакета. А бэк процесс позволит обрабатывать это не используя ресурсы web server процесса, и кусками считывая данные.
Мы делали по soap - сервису, это предложил 1 c-ник. Синхронизировали остатки основного сайта и 1 c. Это не много другое, но идея одна. Может это тебе поможет. Через файлики - это костыль, прошлый век. Но я бы сделал как ты в вопросе написал
Благодарю за ответы. Можно чуть подробнее, насчёт более правильного способа - подключить кафку и т.д.? Есть ссылка на какой-то такой пример, ну или хотя бы какая-то инфа насчет этого?
Soap это прошлый век. Это мегонеудобная штука и ещё и геморная
Можно алгоритм действий? Выгружать на стороне 1С в XML, а далее? хотя бы вкратце
А что именно непонятного? Поднимаешь кафку. 1с пишет в кафку (там есть нюансы, поэтому мы за пару дней написали сервис на го под 1с, так оказалось быстрее и надежнее). Дальше делаешь консьюмеры и продюсеры. Консьюмер - консольная команда в виде демона. Он вычитывает все, что пишет 1с в кафку Продюсер - листенер на нужные события (например создание заказа). Он пишет данные в кафку для 1с Это все пишет по разным топикам
Сразу скажу что не самый эфктивный , но самый оптимальный метод - это xml + sftp загрузка файла на сервак. А потом по крону приходит бэк процесс и забирает файл вкачивая его в бд
Этот способ лучше, но требует знаний со стороны 1с и не только
Ага. А потом ты идёшь и идёшь, где именно ошибка в файле на 10 мб и почему импорт перестал работать. Но так проще, да :)
Мне казалось, что любой способ требует знаний. Иначе может получится плохое решение :)
С таким успехом можно заюзать и amq а не какую или rmq.
Нет, не с таким же успехом. Там другие нюансы возникают.
SOAP - это вроде XML поверх HTTP. А ты в сообщениях советуешь xml.
Соап требует сервака и сервиса и не тоько , там куча гемора в отличии от чистого xml
Обсуждают сегодня