【发布时间】:2018-03-28 16:10:29
【问题描述】:
我和我的团队正在实施基于微服务架构的产品(每个微服务都有自己的数据存储)。我们已经在 AWS 上部署了一些服务,我们需要添加保存用户偏好的功能,例如:
- 已保存过滤器以查询数据
- UI 小部件设置
- 列顺序
- 等
我认为我们有以下选项来实现保存用户首选项:
- 扩展用户配置文件(用于存储公司和用户、角色)服务并在那里添加新项目
- 创建仅保留用户偏好的新微服务
- 为此使用一些 AWS 服务(我仍在检查什么是最好的)
我们用于安全的内容:
- AWS 认知
- SAML IDP
- JWT 令牌
我们还有用户配置文件微服务(我之前提到过)。它包含从其他产品(如管理服务)接收到的数据。
你怎么看?我的情况最好的选择是什么?
【问题讨论】:
-
您的应用程序的性质是什么,是多租户还是单租户?当您说用户配置文件时,您当前将其存储在哪里?还有你提到的配置,看起来它们的数据大小是有限的,对吧?
-
除了阿山的问题,你是用什么来认证和授权的?对于您的用户特定数据,请查看 DynamoDB。用于身份验证的 Cognito 用户池。用于授权的 Cognito 联合身份和用于跨设备存储和同步用户数据的 Cognito Sync。
-
我编辑了帖子并添加了有关安全性的信息。
-
您可以在 Cognito 中存储每个用户的自定义属性。这是放置它们的便利位置,因为您必须在验证时读取 Cognito 用户记录,以便缓存和使用属性。或者,将它们保存到 DynamoDB。
标签: amazon-web-services microservices user-preferences