我正在开发FreeCodeCamp全栈投票应用程序,并希望应用微服务架构。投票申请的用户故事如下:
我正在构思一个架构并提出这个:
该应用程序由6个微服务组成: 1.用户界面 2.聚合器 3.授权(登录,注销) 4.社交媒体(分享) 5.民意调查(有db) 6.用户(使用db)
好奇开发人员如何构建微服务将这些用户故事分解为微服务。谢谢!
答案 0 :(得分:1)
看起来你已经在微服务中分割应用程序做得很好。每个人都有自己的持久性,他们应该与技术无关的协议或异步事件进行通信。
我会像你那样做。也许Auth
应该分为Authentication
(即使用无状态jwt)和Authorization
(+自己的数据库)。
Authentication
将确保用户是他所说的人。
Authorization
将验证用户是否只能修改自己的民意调查。
答案 1 :(得分:1)
民意调查模块目前似乎负责创建民意调查,进行民意测验,管理民意调查会议(假设您的民意调查可能有多个问题需要回答)并跟踪结果。
好吧,你可能只有一个数据库可以保留所有这些东西,但它们有不同的问题,并且(如果你扩展它)不同的业务团队管理它。所以我建议你可以在这些行上拆分民意调查。 (当你开始扩大规模时,它们可能会有所帮助)