我目前在gcloud kubernetes平台上运行3种服务。
前端通过graphql查询连接到后端,并请求一些数据。该查询被转发到另一服务,该服务负责特定类型的数据,即“面包”。
所以您拥有前端(react / next.js)->后端#1(graphql)->后端#2(graphql)
所有这些都可以在群集内通信,我可以通过“ kubectl日志podname”检查日志。
日志基本上说:
后端#1:
,“级别”:50,“信息”:“无法从Breadservice获取面包。FetchError:对http://bread-service/graphql的请求失败,原因:连接ETIMEDOUT some.ip.address:15 \ n
我不确定为什么会发生此超时错误。所有服务均可成功通信。
答案 0 :(得分:2)
我建议同样使用apollo-gateway,您可以找到详细信息here,这将在两者之间添加一个网关层,您可以在其中定义应该相互通信的服务的所有URL
只需通过入口公开网关即可。
在上述情况下,我猜您缺少该服务的端口号
http://bread-service:port/graphql
尝试一下,我想这应该可行。
但是请看一下该链接,对于看起来很容易实现的微服务,我也在探索相同的