如何通过rest模板调用在另一个端口上运行的服务API?

时间:2018-05-22 05:44:49

标签: java rest nginx resttemplate grpc

有两个服务 - / getEmployeeSalaryDetails和/ CalculateAverageSalary

  

nginx 重定向到10092,如果用户点击API- / getEmployeeSalaryDetails。

我想在内部(来自端口8080)从/ CalculateAverageSalary调用/ getEmployeeSalaryDetails。

我试图通过restTemplate调用/ getEmployeeSalaryDetails API,我想知道流 ,这个restTemplate调用是否通过ngnix进行,因为它是http调用。

并添加疑问,

  

我是否需要编写一个grpc(.proto)来调用服务   / getEmployeeSalaryDetails,它位于rpm内,在服务器中运行。   或restTemplate就够了?

注意:

  

/ getEmployeeSalaryDetails API在GO内写入rpm,   / CalculateAverageSalary是在战争中用java编写的。

1 个答案:

答案 0 :(得分:1)

  

问题1: - 我试图通过restTemplate调用/ getEmployeeSalaryDetails API,我想知道流程,这个restTemplate调用是否通过ngnix进行,因为它是http调用。

它取决于resttemplate中的URL(protocol:// host:port)。比如说,你的getEmployeeSalaryDetails和CalculateAverageSalary服务在同一主机上,你在CalculateAverageSalary的rest-template中使用http://localhost:8080/getEmployeeSalaryDetails URL,然后它不会转到nginx,因为localhost:8080在本地解析。

但是,如果您使用来自CalculateAverageSalary的http://somehost.com/getEmployeeSalaryDetails,那么它将不会转到nginx,如果是,则调用将通过代理转到8080。