gpt4 book ai didi

microservices - 无服务器框架 - 一个 APIGW 端点下的两个服务

转载 作者:行者123 更新时间:2023-12-04 06:09:51 26 4
gpt4 key购买 nike

如果我有两项服务,“用户”和“产品”,每项都有多个功能,并为每个服务定义了端点(就像任何传统 API 一样),是否可以将它们单独组织在代码库中(例如清晰),但部署后共享相同的 API 基本 URL?例如,考虑我具有以下结构:

/src
-- /users
---- event.json
---- handler.js
---- serverless.yml
-- /products
---- event.json
---- handler.js
---- serverless.yml

我的src/users/serverless.yml定义了以下内容:

functions:
create:
handler: handler.create
events:
- http: POST user

read:
handler: handler.read
events:
- http: GET user

和我的 src/products/serverless.yml 基本上有相同的内容,只需将“user”替换为“products”即可。

目前,这两项服务都将部署到截然不同的 API 端点,一个具有 URL https://fghijklmnop.execute-api...,另一个具有 URL https ://abcdevwxyz.execute-api...

我的问题是,是否可以部署这些服务,但仍保留在具有单个 URL 的单个 API 下(因此两者都将在 URL https://abcdevwxyz.execute-api... .)?

我假设答案是“不,因为云形成......”,但我想我将问题发布在这里只是为了讨论并帮助我自己理解构建无服务器应用程序。

我知道使用自定义域,按照the answer here ,但对于更快的开发周期来说,这并不是一个真正理想的解决方案。

到目前为止,我唯一的解决方案是简单地创建一个名为“api”的服务,其中包含我的 API 所需的所有端点,该服务将直接直接调用我的其他服务的 Lambda 函数,而不是通过之前配置的端点。实际上,这将是一个抽象层,但会向我的应用程序添加可能不必要的层。再次,我很想知道社区对此有何看法。

最佳答案

您可以将多个函数放在一个 serverless.yml 中

/src
-- event.json
-- users.handler.js
-- products.handler.js
-- serverless.yml

关于microservices - 无服务器框架 - 一个 APIGW 端点下的两个服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39450504/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com