我正在开发 FreeCodeCamp 全栈投票应用程序,并希望应用微服务架构。投票应用程序的用户故事如下:
- 作为经过身份验证的用户,我可以保留我的民意调查并稍后再回来访问它们。
- 作为经过身份验证的用户,我可以与 friend 分享我的民意调查。
- 作为经过身份验证的用户,我可以查看投票的汇总结果。
- 作为经过身份验证的用户,我可以删除我决定不再需要的投票。
- 作为经过身份验证的用户,我可以创建包含任意数量可能项目的投票。
- 作为未经身份验证或经过身份验证的用户,我可以查看每个人的民意调查并对其进行投票。
我正在构思一个架构并提出这个:
该应用程序由 6 个微服务组成: 1. 界面 2. 聚合器 3. 授权(登录、注销) 4.社交媒体(分享) 5.民意调查(带db) 6.用户(带db)
很好奇构建微服务的开发人员如何将这些用户故事分解为微服务。谢谢!
最佳答案
看起来您已经很好地将应用程序拆分为微服务。每一个都有自己的持久性,它们应该与技术无关的协议(protocol)或通过异步事件进行通信。
我会像你一样做。也许Auth
应该分为Authentication
(即使用无状态jwt)和Authorization
(+它自己的数据库)。
身份验证
将确保用户是他所说的人。
授权将验证用户是否只能修改他自己的民意调查。
关于node.js - 如何将微服务架构应用到投票应用程序中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48731168/