介绍
在之前的部分( 第1部分 , 第2部分和第3部分 )中,介绍了GraphQL API的设置和查询Neo4j。 在本文中,您将应用Kong API网关,并使它成为AWS EKS集群的单个入口点。
先决条件
您需要拥有一个正在运行的EKS集群,并为该集群创建并应用了.kubeconfig文件。
如果尚未安装,请参考AWS官方链接以创建集群和配置EKS。
Kong
Kong是一个基于Nginx构建的开源API网关。 它有助于在身份验证,速率限制,缓存,监视等方面管理控制流量。 要在AWS EKS中开始使用Kong,首先需要在集群中安装入口控制器。 要安装Kong Ingress控制器,您可以使用Helm图表,这需要安装Helm。 安装后,您只需要执行以下命令:
helm repoadd kong http s: //charts.konghq. com
helm repo update
helm install kong/kong
安装控制器后 ,即可实施各种配置。 以下是一些路由和速率限制示例:
上面的示例是一个YAML文件,它用作配置配置入口控制器的入口资源。 在此示例中,流量从KONG URL重新路由,该KONG URL根据路径URL暴露给不同的微服务。 通过以下命令检查配置:
kubectl describe ingress< ingress_name >
配置入口路由后,您可以应用不同的Kong插件。 在此示例中,将速率限制插件应用于微服务。
在以下示例中,对任何微服务的访问都受到限制; 即一个API在一秒钟内不能被调用两次以上。 您还可以根据分钟,小时,天,月和年中执行的请求数来设置限制。 也可以根据每个客户,IP和微服务的请求设置限制。
Kong将为您提供一个URL,该URL会向全世界公开以用于传入流量。 从那里开始,控制器将检查入口资源配置和插件以执行重新路由和速率限制。 架构图如下:
最后…
在本文中,您已从较高的层次上了解了Kong API网关的安装和配置。 该博客系列将为您提供一个使用GraphDB开发GraphQL API并为该应用程序部署API网关的良好起点。
参考资料
翻译自: https://hackernoon.com/how-to-build-graphql-api-with-spring-boot-neo4j-and-kong-part-4-4qq3upa