java - 如何高效处理Spring Boot微服务?

标签 java spring spring-boot dns microservices

我有一堆 Spring Boot 微服务在独特的端口中运行。我们如何在生产中处理这些微服务?

在生产中,我们只需要DNS,我们如何处理DNS映射。

例如: example-microservice-1(端口:8001)
example-microservice-2(端口:8002)
示例-微服务-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;
    }
}

关于java - 如何高效处理Spring Boot微服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45023334/

相关文章:

java - 如何在 MacOS 上使用 Java(使用 JNA)获取前景窗口/进程?

spring - 任何现有的方法来确保在 spring xml 中定义的 beans 是无状态的?

Spring Data JPA 自定义查询限制功能不起作用

java - Spring Boot上传BootRepackage可执行Jar

java - Maven 项目上的 MyEclipse 2017 CI 10 错误

java - 将音程转换为音符的方法,遇到 NumberFormatException

java - 单击时停止 jslider 移动

java - spring webflux 是否支持javax bean验证?

java - spring 4.0.0 与 hibernate 4.30 的兼容性

spring - 升级到 Spring boot 2.x 后请求映射不起作用