Nginx and micro-service

  一个web系统,它每个前端页面上的功能都会有一个或者数个后端接口来支撑。现在假设系统后端服务是微服务架构,一共100个micro service(简称: m-s),分别部署在150台机器上(有的服务是集群部署)。这种情况下前端请求它如何调抵达自己想访问的m-s呢?是ip + 端口直接访问吗?显然不是,肯定是通过域名访问Nginx,由Nginx代理到m-s。关键是150台机器,Nginx如何判断请求路由到哪台---该过程如何实现?可以这样:以一个特定单词作为请求url的起始部分,例如订单m-s以"orderService"作为标识单词,该服务所有接口url均以此单词开始,如订单列表接口:orderService/order/info/list,然后在Nginx中就可以以orderService作为匹配条件,匹配上就把请求路由到订单微服务。由此实现Nginx把请求路由到具体的m-s。


image.png

image.png

  这种方式实现的请求路由,弊端在于随着m-s数量的增加,Nginx的配置也会随之增多,从而不便管理,不过一个系统的微服务不可能成千上万的吧。

你可能感兴趣的:(Nginx and micro-service)