我有一堆在唯一端口中运行的spring boot microservices。我们如何在生产中处理这些微服务?
在生产中,我们只需要DNS,我们如何处理DNS映射。
例如:
example-microservice-1(端口:8001)
example-microservice-2(端口:8002)
example-microservice-3(端口:8003)
example-microservice-4(端口:8004)
example-microservice-5(端口:8005)
我想要下面这样的东西
myprod.com/example-microservice-1
myprod.com/example-microservice-2 ...
代替,
myprod:8001 / example-microservice-1
myprod:8002 / example-microservice-2
(由于声誉降低,已将上面的“ https / http”删除)
所有微服务都存在于不同的代码库中,并且在构建时将创建单个可运行的jar。
最佳答案
只需安装nginx并为您的微服务做一个反向代理。
nginx示例:
server {
listen 80 default_server;
server_name myprod.com;
location /example-microservice-1 {
proxy_pass http://localhost:8001;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
location /example-microservice-2 {
proxy_pass http://localhost:8002;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}