Kubernetes上的GraphQL服务器到服务器连接超时

Kubernetes上的GraphQL服务器到服务器连接超时,kubernetes,gcloud,graphql-js,Kubernetes,Gcloud,Graphql Js,我目前在gcloud kubernetes平台上运行3项服务 前端通过graphql查询连接到后端并请求一些数据。此查询被转发到另一个服务,该服务负责特定类型的数据,即“面包” 所以您有前端(react/next.js)->后端1(graphql)->后端2(graphql) 所有这些都可以在集群内通信,我可以通过“kubectl logs podname”检查日志 日志基本上说: 后端#1:收到的查询 后端#2:接收到的查询(这是它查询数据库的地方) 后端#1: ,“level”:50,“ms

我目前在gcloud kubernetes平台上运行3项服务

前端通过graphql查询连接到后端并请求一些数据。此查询被转发到另一个服务,该服务负责特定类型的数据,即“面包”

所以您有前端(react/next.js)->后端1(graphql)->后端2(graphql)

所有这些都可以在集群内通信,我可以通过“kubectl logs podname”检查日志

日志基本上说:

  • 后端#1:收到的查询
  • 后端#2:接收到的查询(这是它查询数据库的地方)
  • 后端#1:

    ,“level”:50,“msg”:“未能从面包服务中获取面包。获取错误:请求失败,原因:connect-ETIMEDOUT some.ip。地址:15\n


  • 我不知道为什么会发生此超时错误。所有服务都可以成功通信。

    我建议使用apollo gateway进行相同的通信,您可以找到详细信息,这将在两者之间添加一个网关层,您可以在其中定义应该相互通信的服务的所有URL

    只需通过入口暴露网关

    在上述情况下,我猜您缺少服务的端口号

    http://bread-service:port/graphql 
    
    试试这个,我想这应该行得通


    但是一定要看一下这个链接,对于那些看起来很适合实现的微服务,我也在探索同样的

    我建议使用apollo gateway,同样的,你可以找到详细信息,这将在中间添加一个网关层,你可以定义那些应该相互通信的服务的所有URL

    只需通过入口暴露网关

    在上述情况下,我猜您缺少服务的端口号

    http://bread-service:port/graphql 
    
    试试这个,我想这应该行得通

    但是请看一下这个链接,对于那些看起来很适合实现的微服务,我也在探索同样的方法