170 похожих чатов

Добрый день! Не удаётся найти информацию, как правильно загружать 'большие'

объёмы данных на сайт.
Допустим, есть 1С, есть база товаров.
Насколько корректно загружать товары из 1С на сайт через json по API сайта (то есть по HTTP запросу)?
Объём данных ~10мб (json'а), но это наверняка не предел, то есть нужно сделать решение, которое подразумевает загрузку еще более больших объёмов информации.

Может нужно сохранять в файл, и отправлять это через файл, или все-таки как параметры POST запроса, или..?

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

16 ответов

12 просмотров

Можно через csv-формат

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

Самый эффективный способ это xml + бэк процесс. Так как сказал товарищ выше json требует целостности всего пакета. А бэк процесс позволит обрабатывать это не используя ресурсы web server процесса, и кусками считывая данные.

Мы делали по soap - сервису, это предложил 1 c-ник. Синхронизировали остатки основного сайта и 1 c. Это не много другое, но идея одна. Может это тебе поможет. Через файлики - это костыль, прошлый век. Но я бы сделал как ты в вопросе написал

Lyonya-Yakovlev Автор вопроса

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

Soap это прошлый век. Это мегонеудобная штука и ещё и геморная

Lyonya-Yakovlev Автор вопроса

Можно алгоритм действий? Выгружать на стороне 1С в XML, а далее? хотя бы вкратце

А что именно непонятного? Поднимаешь кафку. 1с пишет в кафку (там есть нюансы, поэтому мы за пару дней написали сервис на го под 1с, так оказалось быстрее и надежнее). Дальше делаешь консьюмеры и продюсеры. Консьюмер - консольная команда в виде демона. Он вычитывает все, что пишет 1с в кафку Продюсер - листенер на нужные события (например создание заказа). Он пишет данные в кафку для 1с Это все пишет по разным топикам

Сразу скажу что не самый эфктивный , но самый оптимальный метод - это xml + sftp загрузка файла на сервак. А потом по крону приходит бэк процесс и забирает файл вкачивая его в бд

Этот способ лучше, но требует знаний со стороны 1с и не только

Ага. А потом ты идёшь и идёшь, где именно ошибка в файле на 10 мб и почему импорт перестал работать. Но так проще, да :)

Мне казалось, что любой способ требует знаний. Иначе может получится плохое решение :)

С таким успехом можно заюзать и amq а не какую или rmq.

Нет, не с таким же успехом. Там другие нюансы возникают.

SOAP - это вроде XML поверх HTTP. А ты в сообщениях советуешь xml.

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

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта