什么是API网关?
相当于客户端请求统一先请求到网关服务器,再由网关服务器转发大实际的服务器地址.(类似nginx)
网关分为内网网关和外网网关
API接口也分为内网接口和外网接口.
image.png
image.png
Nginx与Zuul的区别
相同点:
Zuul和Nginx都可以实现负载均衡,反向代理,过滤请求,实现网关效果.
不同点:
Nginx使用C语言写的
Zuul使用java写的
Zuul负载均衡实现原理:
Ribbon+Eureka
实现本地负载均衡Nginx负载均衡实现原理: 采用服务器端实现负载均衡.
Nginx比Zuul弄能更加强大, 因为Nginx会整合一些脚本语言(Nginx+Lua)
**使用场景: **
Nginx适合实现服务器端负载均衡, 也可以实现网关.
Zuul适合在微服务中实现网关, 而且使用java语言开发,这样对于开发人员会更加灵活.
最好
Nginx+Zuul 配合
使用, Nginx做服务器端反向代理
,Zuul
做微服务网关负责拦截请求(比如过滤访问IP的黑白名单作用)