Как спроектировать архитектуру нескольких приложений Python, взаимодействующих асинхронно? - PullRequest
1 голос
/ 20 марта 2019

У меня следующая ситуация:

A - веб-приложение Django (общедоступное)

B - веб-приложение, написанное в основном на PHP (front-end + back-end)

C - Внутренний Python-сервер (используется для управления данными)

D - Back-endСервер Python (используется для задач машинного обучения)

Приложение A прослушивает базу данных MySql с именем DB01 , в то время как приложение C прослушивает базу данных MySql с именем DB02 .Все эти приложения развернуты на AWS.

В настоящее время эти приложения взаимодействуют следующим образом:

B отправка сообщений на C , C обработать сообщение и ответить на B .

или

B отправитьсообщение C , C отправить сообщение D , D ответить на C и C ответ на B .

Следующая задача заключается в разработке нового трубопровода:

A sendсообщение на D , (это сообщение требует много времени для полной обработки и требует данных из базы данных DB02 ), поэтому D вычислит частичные результатыи отправьте обратно на A (таким образом, используя Javascript на внешнем интерфейсе Django, пользователь может визуализировать страницу, которая автоматически обновляет ее содержимое, как только на нее передаются новые данные).

Вопрос: «Как могспроектировать этот трубопровод?Существуют ли какие-либо фреймворки в Python, которые помогают в разработке такого рода решений? "

Просто для того, чтобы учесть, что невозможно объединить разные веб-приложения, они должны существовать как есть (деловое ограничение).

...