微服务网关层

API网关是所有客户端的统一入口。路由服务可以被用于很多目的,例如日志、限流、认证,从而做到应用无感知。API网关对于任意一种处理请求有两种方式处理。一部分请求只要简单路由到相应的服务;还有一些请求需要拆分到多个服务。API Gateway是实现微服务重要的组件之一,常用的网关Zuul, Nginx, Spring Cloud, Linkerd,Envoy,UnderTow。

一、各种常见网关比较

1、常用网关性能测试

为了评估API网关各自的性能,我们使用Apache的ab作为压测工具。(另外还可以用Gatling做性能测试)


测试结果和心得如下:

  • Zuul、Linkerd、Nginx性能相对好一点
  • 一些API网关(Zuul 1)是阻塞的,另外一些(Zuul 2、Linkerd、Envoy)是非阻塞的。阻塞架构对开发和跟踪请求友好,但是阻塞可能产生扩展性问题。非阻塞架构对于团队开发和跟踪更复杂,但是有更好的可扩展和弹性。
  • Zuul基于servlet 2.5(使用3.x),使用阻塞API。 它不支持任何长连接,如websockets。而Gateway建立在Spring Framework 5,Project Reactor和Spring Boot 2之上,使用非阻塞API。

你可能感兴趣的:(微服务网关层)