Как можно осуществить передачу данных между вашим веб-приложением и другим веб-приложением?

Как можно эффективно организовать процесс передачи файлов для обработки между двумя веб-приложениями, учитывая необходимость обработки временем и невозможность обмен данных через брокеров сообщений?
  • 2 мая 2024 г. 23:00
Ответы на вопрос 2
Существует несколько способов осуществить передачу данных между веб-приложениями:

1. REST API: один из наиболее распространенных способов передачи данных между веб-приложениями. Вы можете использовать HTTP протокол для отправки запросов и получения ответов между приложениями.

2. WebSockets: этот протокол позволяет веб-приложениям устанавливать двустороннее соединение и обмениваться данными в режиме реального времени.

3. Использование баз данных: вы можете сохранять данные в общей базе данных, к которой оба веб-приложения имеют доступ. Одно приложение может записывать данные, а другое приложение может читать их для обработки.

Что касается передачи файлов для обработки между веб-приложениями, если невозможно использовать брокеров сообщений, то следующие подходы могут быть эффективными:

1. REST API для передачи файлов: вы можете создать эндпоинт на одном из веб-приложений, который будет принимать файлы от другого приложения через HTTP запросы. 

2. FTP/SFTP: использование протокола передачи файлов может быть эффективным способом передачи файлов между веб-приложениями.

3. Использование облачного хранилища: загрузка файлов на облачное хранилище (например, Amazon S3, Google Cloud Storage) и передача ссылки на файл между веб-приложениями может быть удобным способом обмена данными.

Важно также учитывать безопасность при передаче конфиденциальных данных и файлов между веб-приложениями, например, использовать шифрование данных и установить проверку подлинности для обеспечения безопасности передаваемой информации.
Если у вас есть возможность работать с планировщиком задач (шедуллер), то все и будет просиходть ровным счетом как вы описали. Вы используете технику webhook. То есть, обычно внешний сервис (если мы говорим о микросервисах) дает потребителю свой адрес, на который он ожидает запросы и так же он требует обратный адрес потребителя. Куда слать ответы. В вашем случае у вас оба "сервиса" ваши. Так что просто предоставьте друг другу адрес для запроса и для ответа. 
Примерный сценарий.
1) Единственное действие пользователя - отправить список айдишников. Сервис 1 вызывает вебхук-запроса.
2) Сервис 2, принимает запрос, и шлет сразу ответ на предоставленный ему адрес для ответов. Ок или не Ок.
3) Сервис 1 получает ответ и обрабатывает (ожидание или retry).
4) В какой-то момент Сервис 2 начианет слать ответы в сервис 1 по преодоставленному вебхук-ответу.
5) Сервис 1, так же через планировщик мониторит базу ну и делает оставшуюся работу.

Как-то так
Похожие вопросы