API 网关性能比较:Nginx vs. Zuul vs. Spring Cloud Gateway vs. Linke
从产品思维来看,API 网关负责服务请求路由、组合及协议转换。客户端的所有请求都首先经过 API 网关,然后由它将请求路由到合适的微服务。API 网关经常会通过调用多个微服务并合并结果来处理一个请求,它可以在 Web 协议(如 HTTP 与 WebSocket)与内部使用的非 Web 友好协议之间转换,所以说作用还是很大的,因此技术方案选型对于整个系统来说也有一定重要性。 从我所理解的这四款组件的设计原理来看,Zuul1 的设计模式和 Nigix 较像,每次 I/O 操作都是从工作线程中选择一个执行,请求线程被阻塞直到工作线程完成,但是差别是 Nginx 用 C++ 实现,Zuul 用 Java 实现,而 JVM 本身有第一次加载较慢的情况。Zuul2 的性能肯定会较 Zuul1 有较大的提升,此外,Zuul 的第一次测试性能较差,但是从第二次开始就好了很多,可能是由于 JIT(Just In Time)优化造成的吧。而对于 Linkerd,它本身是对于资源比较敏感的一种网关设计,所以在通用环境下拿它和其他网关实现相比较,可能会出现不准确的结果。 【编辑推荐】
点赞 0 (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |