【问题标题】:Can an Endpoint call severals backend services on cloud run端点可以在云上调用多个后端服务吗?
【发布时间】:2020-02-03 18:20:24
【问题描述】:

如何可以有一个端点,但是这会调用多个后端服务(多个云运行服务)?谢谢。

我想要一个调用多个云运行端点的端点......我该怎么做?

【问题讨论】:

  • 请澄清您的问题。 Cloud Run 为您提供了一个端点,它将根据需要/允许调用尽可能多的 Cloud Run 服务来处理流量。如果您的意思是要根据 URL 将流量路由到不同的服务,则不。但是,请在您的问题中添加更多详细信息,以明确您想要什么。
  • 我想要一个调用多个云运行端点的端点......我该怎么做?有链接吗??
  • Cloud Run 将自动扩缩,但不会根据路径路由分配流量。您将需要选择不同的服务或在其中一个 Cloud Run 服务中自己实现该功能。请参阅 Steren 回答的选项。注意:我仍然不确定您的问题和评论到底想要什么。花时间提出一个好的问题,以便得到一个好的答案。
  • 您可以查看 GCP 官方文档中的文章Getting Started with Endpoints for Cloud Run,以获取为 Cloud Run 设置 Cloud Endpoints 的参考。
  • @JohnHanley 阅读 Steren 的答案供您学习...

标签: google-cloud-platform google-cloud-endpoints google-cloud-run


【解决方案1】:

不可能在同一个端点 URL 下直接拥有多个 Cloud Run 服务。

以下是一些使用 Cloud Run 和其他产品可能的选项:

  • 创建一个“路由器”Cloud Run 服务,它将根据 URL 路径将请求路由到其他 Cloud Run 服务。
  • 使用Firebase Hosting 提供基于 URL 的路由
  • 在您的 Cloud Run 服务前使用 Cloud Endpoints
  • 将来,可以将Google Cloud Load Balancer 与 Cloud Run 一起使用,并使用其URL Maps 功能。

【讨论】:

  • 如何使用云端点?你有例子吗?只有一个端点可以运行多个后端云。
【解决方案2】:

@steren 我猜他要问的是关于微服务的聚合响应。我确实认为,如果我错了,请纠正,他想知道的是如何在云运行项目(多个独立的微服务,每个都有自己的 api)前面使用云端点,并创建一个由多个调用组成的外部可见端点到微服务。 为了清楚起见,我们举个例子:

  • 云运行服务 1 -> crud 用户 api

  • 云运行服务 2 -> crud 产品 api

  • 云端点外部可见 api -> 从服务 1 获取用户,然后从服务 2 获取产品并返回组合响应所有绿色产品给用户 Jane Doe。

也许使用云函数来进行聚合响应,并使用端点公开它。我不认为您有能力直接在云端点中组合响应。

如果我错了,请纠正我,我不确定我所说的是否完全正确(我只是假设为了使每个微服务完全独立于其他微服务,你需要依赖一个额外的功能或额外的服务,您不能直接在端点中构建组合响应)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-09
    • 1970-01-01
    • 1970-01-01
    • 2016-06-23
    • 2011-08-18
    • 2011-08-30
    相关资源
    最近更新 更多