#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 не предоставляет решения.