【发布时间】:2023-03-04 23:19:02
【问题描述】:
背景:
我正在构建一个 API 服务应用。该应用程序与其他应用程序一样,您发送 HTTP 请求并接收响应。这似乎很简单,直到我开始考虑用户注册、支付、身份验证、日志记录等。
应用:
tl;博士simple app diagram
端点监听 HTTP 请求并执行所有与请求相关的工作。这是服务的核心,服务用户使用这个应用程序的目的。最终用户无法直接访问(除非它知道 url)。 Python 烧瓶服务器,部署在谷歌云 RUN 上。
API 网关 充当代理和将请求转发到端点的单个访问点。这是最终用户的服务接入点。这部分还将负责身份验证、限制、记录和跟踪 API 端点的使用。 Python 烧瓶服务器,部署在谷歌云 RUN 上。
网站包括文档、演示和通过 API 网关展示 API 调用、注册、支付(考虑 Stripe)等。谷歌云计算 VM 上 NodeJS 服务器上的 VueJS 应用程序。
数据库存储注册用户的凭据、支付信息和授权密钥。尚未实施。
问题:
这种架构合适吗?可以做些什么不同或改进?如何进一步简化应用程序各个部分之间的所有交互?我没有遗漏任何重要的部分吗?
还没有实现数据库部分,我不确定我应该做什么 采用?有很多options on google cloud。我也可以做一些简单的事情,只需在谷歌云计算虚拟机上安装一个带有 http/JSON 接口的数据库。我如何选择数据库?考虑到这样的应用,最好的选择是什么?
请推荐类似应用的文献/博客/其他信息来源 不熟悉的新开发者的架构?
【问题讨论】:
标签: rest google-cloud-platform architecture