Микросервисы обратного прокси-сервера NGINX, построенные с помощью cherrypy

#python-3.x #cherrypy #nginx-reverse-proxy

#python-3.x #cherrypy #nginx-обратный прокси

Вопрос:

Я создаю интеллектуальную теплицу для университетского проекта, и мы должны следовать архитектуре микросервисов и использовать cherrypy. Мое предлагаемое решение заключается в том, что разные микросервисы обрабатывают разные телеметрические данные с помощью nginx, docker и docker-compose.

Я использую nginx для обратного прокси-сервера моего интерфейса и всех микросервисов, но как мне обрабатывать uri? Может ли nginx обрабатывать URI с <ids> помощью?

Не видно, чтобы Cherrypy обеспечивал горизонтальное масштабирование, предоставленный диспетчер в стиле RESTful, похоже, просто обеспечивает монолитный подход.

Мой текущий NGINX:

 server {
    listen 80;
    location / {
        proxy_pass http://web:80;
    }
    location /api/v1/moisture {
        proxy_pass http://moisture:5001;
    }
    location /api/v1/light {
        proxy_pass http://moisture:5001;
    }
}
  

Мой API должен выглядеть примерно так /api/v1/greenhouse/<id>/moisture , это moisture может быть любая телеметрическая информация, которую я могу измерить, например humidity , или light .

Цель состояла в том, чтобы nginx мог отправлять запрос /api/v1/greenhouse/<id>/moisture в службу влажности и запрос в /api/v1/greenhouse/<id>/humidity службу влажности, поскольку cherrypy не предоставляет решения.