API gateway, Load balancer

API gateway 和load balancer 在很多功能上有重合,为什么他们会放在一起,而不是只选其一。
我看到有些websocket的例子里用的gateway在websocket之前,然后LB用于HTTP的service。为什么之后对于HTTP的service 是LB 而不是API gateway?

API Gateway 是作用是把不同的 API Call Route 到不同的后端服务去,Load Balancer 的作用是把去同一个后端服务的 API Call 分配到合适的机器上,功能是不重合的,都需要有。
所以我们每次画图的时候,都有一个服务是 API Gateway + LB + Firewall,这是三个功能一般是同一个服务来解决的,比如 Nginx。
Websocket server 是在 Nginx 之后的。

1 个赞