api – GraphQL是否有单个端点成为瓶颈?
我试图理解GraphQL是否是大型应用程序的一个很好的架构决策.
引起我注意的一件事是它为所有请求使用单个端点. 从http://graphql.org起
这是瓶颈吗?所有请求都通过单个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将为您水平扩展和缩小. 此时,端点不再相关,因此不再是导致任何瓶颈的因素. 我希望这足以令人信服,不仅单个端点不是瓶颈,而且它使负载平衡器的工作变得更容易. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |