相同点:都是可以实现对[api]接口的拦截,负载均衡、反向代理、请求过滤等,可以实现和网关一样的效果。
a、底层实现
[Nginx]采用C语言编写的
[微服务]都是自己语言编写的 比如Gateway就是java写的。
毕竟Gateway属于Java语言编写的, 能够更好对微服务实现扩展功能,相比Nginx如果想实现扩展功能需要结合Nginx+Lua语言等。
b、负载均衡
Nginx实现[负载均衡]的原理属于服务器端负载均衡器。
Gateway实现负载均衡原理采用本地负载均衡器的形式。
gateway的定义是针对每一个业务[微服务]来得,属于业务网关
gateway是java语言的一个框架,可以在框架上进行代码的扩展与控制,例如:安全控制,统一异常处理,XXS,SQL注入等;权限控制,黑白名单,性能监控,日志打印等;
gateway的主要功能有,路由,断言,过滤器,利用它的这些特性,可以做流控。
nginx做网关,更多的是做总流量入口,反向代理,负载均衡等,还可以用来做web服务器。
网友评论