从Node-js应用引擎路由到Google云功能-将云功能与App Engine集成

时间:2019-03-25 05:03:46

标签: node.js google-app-engine routing cloud google-cloud-functions

我有一个运行在Google App Engine中的NodeJS Web应用程序。另外,我已经将我的自定义域映射到该域,例如example.com

我几乎没有用node.js编写的业务功能(微服务),并且已作为google云功能部署到同一Google Project。

我想为云功能定义路由(例如function1function2)。

所有对example.com/ms/fun1/*的请求都应转到function1,所有对example.com/ms/fun2/*的请求都应转到function2

我已经检查了App Engine中的dispatch.yaml配置,但这似乎仅是为App Engine中定义的服务定义的。

请帮助我实现以上要求的行为。

1 个答案:

答案 0 :(得分:1)

如您所见,dispatch.yaml文件只能用于路由到某个GAE服务,而不能路由到CF。 Google没有提供其他机制来实现您想要的目标。

但是在GAE应用程序中,您可以为那些URL注册处理程序,这些URL只需触发相应的CF(调用它们的真实URL)即可-正是您想要的。但是您可能无法利用可能更长的CF timeouts优势-在某些情况下,GAE可能会更短,具体取决于环境和/或可伸缩性配置,并且在这种情况下必须满足其要求。 / p>

如果您希望CF经常被调用,那么从CF总体来说比GAE昂贵(每次调用都要收取费用,而不是GAE收取费用)的意义上讲,这种方法也可能有点成本低效实例正常运行时间,而不管它处理了多少次调用)-仅在GAE处理程序中执行相应功能可能会更便宜,甚至可以将这些CF重新打包为GAE服务。