【发布时间】:2021-05-19 17:14:26
【问题描述】:
我是微服务新手,我只知道理论,开发了一些本地示例,并将它们部署到 AWS,但仅此而已,我有一个项目必须使用微服务完成,但我的问题是关于结构。
例如,我打算做以下事情:
- AWS S3 中前端商店的 Vuejs SPA - 这将向 Laravel 主应用程序发出请求
- 用于管理授权(登录、注册、密码恢复)的 Laravel 主应用
- 当用户登录时,被重定向到“帖子”页面并且该页面加载所有帖子,您可以创建新帖子,删除它们,添加 cmets 等。这将是另一个 Laravel 应用程序,另一个微服务
- 然后我有另一个用于用户个人资料的 Laravel 应用程序,用户可以在其中更新他们的信息并通过给定选项通过他们的帖子获利
所以,这是我的计划:
- 存储在 S3 中的 SPA
- 用于处理授权的主应用程序的微服务,这将存储在 lambda 中
- 帖子的微服务,这将存储在 lambda 中
- 用于货币化的微服务,将存储在 lambda 中
我打算使用无服务器,所以我有点困惑。
- SPA 或主应用程序中的 AWS API 网关应该在哪里?或者我该如何配置它
- 我应该只使用一个数据库,每个微服务都连接到它吗?
- 我应该使用不同的数据库吗?如果是这样,我可以如何同步它们
- 如果用户登录到主应用程序,它会生成一个带有 sanctum 或护照的令牌,然后将此令牌在标头请求中发送到帖子或货币化微服务,这种方法可以吗?
- 我应该安装 Sanctum 还是护照?
- 我应该在所有微服务中还是仅在主应用中安装 Sanctum 或 Passport?
我能做什么?谢谢。
【问题讨论】:
标签: php laravel amazon-web-services microservices