做好了各个服务,都一个服务一个端口,如果端口修改或者启用多实例,简单的调用满足不了服务消费。
想了一个简单取巧的办法,用nginx的代理,指向具体的服务,每一个服务的消费者只需要指向nginx就好了。
nginx的配置为,nginx.conf文件中添加下面的配置
location /leave/ {
proxy_pass http://127.0.0.1:10001;}
这样配置后,访问代理地址
http://127.0.0.1:8081/leave/isLeave?phone=15181253629
与直接访问真实服务相同
http://127.0.0.1:10001/leave/isLeave?phone=15181253629
(配置中的leave是我的一个请假的微服务地址)
另外,基于location的路径配置是参考的这篇文章
https://blog.csdn.net/zhongzh86/article/details/70173174
目前这样的配置只是简单的实现了服务的路由,下面是服务多实例支持的配置:
server节点之前配置
upstream service_leave {
server 127.0.0.1:10011;
server 127.0.0.1:10012;}
proxy_pass http://127.0.0.1:10001;修改为proxy_pass http://service_leave;就是
location /leave/ {
proxy_pass http://service_leave;
}