加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

api – GraphQL是否有单个端点成为瓶颈?

发布时间:2020-12-16 09:04:33 所属栏目:安全 来源:网络整理
导读:我试图理解GraphQL是否是大型应用程序的一个很好的架构决策. 引起我注意的一件事是它为所有请求使用单个端点. 从http://graphql.org起 Access the full capabilities of your data from a single endpoint. 这是瓶颈吗?所有请求都通过单个API网关(单个端点)
我试图理解GraphQL是否是大型应用程序的一个很好的架构决策.

引起我注意的一件事是它为所有请求使用单个端点.

从http://graphql.org起

Access the full capabilities of your data from a single endpoint.

这是瓶颈吗?所有请求都通过单个API网关(单个端点)?

问朋友.谢谢.

编辑:指出我任何解决这个问题的文档会有所帮助.

解决方法

最简洁的答案是不.

最好检查瓶颈可能在哪里,并向自己证明它实际上并不是瓶颈.

首先,当您提出请求时,您会对您的域进行DNS查找,例如www.myapi.com.这将返回1个或多个IP地址.基本上,您选择一个并将您的请求发送到该地址.到目前为止,这与实际端点无关,例如/ graphql,但这是第一步.

您提到了API Gateway,这让我相信您正在谈论在AWS上部署GraphQL API.

其次,您的请求到达您的负载均衡器.如果您使用的是API Gateway,那就是您的负载均衡器.如果您在AWS上而不使用API??网关,则可能正在使用ELB.在任何一种情况下,负载均衡器的工作都是查看端点,查看哪些服务器负责处理该端点并将请求转发给其中一个端点.无论是单个端点还是100个端点,此作业都完全相同.事实上,在GraphQL的情况下只有一个端点实际上使这项工作更容易.

值得一提的是,负载均衡器不仅仅是一台机器.有许多机器构成单个API网关或ELB,它们都在做同样的工作.这不仅是为了可扩展性,也是为了实现高可用性.

接下来,服务器接收到负载均衡器选择并处理的请求.同样,有许多相同的服务器为其他请求执行相同的工作.如果您使用AWS Lambda处理请求,则您的服务器基本上在容器中运行,AWS将为您水平扩展和缩小.

此时,端点不再相关,因此不再是导致任何瓶颈的因素.

我希望这足以令人信服,不仅单个端点不是瓶颈,而且它使负载平衡器的工作变得更容易.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读