Лучший подход для вызова внешних процедур (Python, Node.js, Go) из Laravel с большой передачей данных на одном сервере [Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Лучший подход для вызова внешних процедур (Python, Node.js, Go) из Laravel с большой передачей данных на одном сервере [

Сообщение Anonymous »

Я работаю над приложением Laravel, которое необходимо перенести некоторые тяжелые вычисления на внешние сервисы, написанные на других языках программирования (например, Python, Node.js, Go). Ключевые требования для моей настройки:
Передача данных: мне нужно передавать потенциально большие наборы данных (несколько МБ и более) этим внешним службам.
Та же машина: все скрипты и службы будут работать на той же физической/виртуальной машине, что и мое приложение Laravel.
Производительность. Решение должно быть эффективным с точки зрения скорости и использования памяти, учитывая потенциальный размер данных.
Масштабируемость. Хотя службы пока будет работать на одной машине, мне бы хотелось решение, которое при необходимости можно масштабировать на несколько служб или компьютеров в будущем.
Что я рассмотрел:
HTTP REST API. Я мог бы предоставлять доступ к внешним сценариям через REST API, но меня беспокоят накладные расходы на сериализацию больших объемов данных в формате JSON и потенциальные узкие места в производительности.
Вызовы CLI: использование exec() в PHP для прямого запуска сценариев, но этот подход не кажется надежным и гибким для передачи больших данных или масштабируемости в будущем.
Система очередей : Настройка очереди (например, Redis, RabbitMQ) для передачи данных внешним службам. Однако я не уверен, что это наиболее эффективный метод для больших наборов данных на одном компьютере.
Мой вопрос:
Что такое лучший способ организовать вызовы внешних скриптов или сервисов (Python, Node.js, Go и т. д.) из приложения Laravel, особенно при обработке больших объемов данных, работающих на одном сервере? Существуют ли конкретные шаблоны, библиотеки или протоколы связи (например, gRPC, WebSockets, очереди сообщений), которые лучше всего подойдут для этого варианта использования?
Будем очень признательны за любые советы или примеры!< /p>
Цель:
Я получаю данные от стороннего API и сохраняю их в базе данных. Затем я применяю пользовательские данные и генерирую предварительный ответ в Laravel. После этого я хочу передать часть данных для дальнейшей обработки внешнему скрипту. Этот скрипт находится на той же машине. Он не будет дублировать или реализовывать какую-либо серверную логику Laravel или взаимодействовать со сторонними API. Цель состоит в том, чтобы получить обработанные данные, которые уже прошли логику на стороне сервера, и выполнить их постобработку, которая затем будет возвращена обратно в PHP (Laravel) для предоставления клиенту.

Подробнее здесь: https://stackoverflow.com/questions/790 ... aravel-wit
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»