介绍
Zuul是Netflix开源的微服务网关,在Netflix经过大规模生产验证,在业界很多公司有落地案例。
本文介绍Zuul网关的一些生产部署实践。
Zuul参考部署架构
上图是一个可供参考的Zuul部署架构,总体可以简化为一个三层架构:
第一层、负载均衡LB
Zuul网关本身无状态,以集群方式部署,它的前端需要负载均衡LB支持。在AWS云中,经常使用ELB作为负载均衡器,这个也是Netflix的做法。一般企业如果自建数据中心,则经常采用Nginx作为反向代理对Zuul网关进行负载均衡,Nginx是7层负载均衡器,本身也需集群部署,一般前端还需要4层负载均衡,例如使用软件LVS或者硬件F5等。
第二层、Zuul网关层
网关无状态以集群方式部署,一个集群规模小的有几台Zuul实例,大的可以有几十甚至上百个Zuul实例。
Zuul网关一般根据业务场景以分集群方式部署,例如上图中:
- 无线网关集群,接入无线应用的API调用流量,例如对应域名 api.mobile.xxx.com