node.js - 如何将微服务架构应用到投票应用程序中?

标签 node.js microservices

我正在开发 FreeCodeCamp 全栈投票应用程序,并希望应用微服务架构。投票应用程序的用户故事如下:

  • 作为经过身份验证的用户,我可以保留我的民意调查并稍后再回来访问它们。
  • 作为经过身份验证的用户,我可以与 friend 分享我的民意调查。
  • 作为经过身份验证的用户,我可以查看投票的汇总结果。
  • 作为经过身份验证的用户,我可以删除我决定不再需要的投票。
  • 作为经过身份验证的用户,我可以创建包含任意数量可能项目的投票。
  • 作为未经身份验证或经过身份验证的用户,我可以查看每个人的民意调查并对其进行投票。

我正在构思一个架构并提出这个:

Concept Architecture Voting App

该应用程序由 6 个微服务组成: 1. 界面 2. 聚合器 3. 授权(登录、注销) 4.社交媒体(分享) 5.民意调查(带db) 6.用户(带db)

很好奇构建微服务的开发人员如何将这些用户故事分解为微服务。谢谢!

最佳答案

看起来您已经很好地将应用程序拆分为微服务。每一个都有自己的持久性,它们应该与技术无关的协议(protocol)或通过异步事件进行通信。

我会像你一样做。也许Auth应该分为Authentication(即使用无状态jwt)和Authorization(+它自己的数据库)。

身份验证将确保用户是他所说的人。

授权将验证用户是否只能修改他自己的民意调查。

关于node.js - 如何将微服务架构应用到投票应用程序中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48731168/

相关文章:

java - 为每个模块在自己的模块上运行 spring boot 单元测试

design-patterns - Event sourcing, CQRS with Axon Server/Framework - Event Sourcing the entire application 是个好主意吗?

java - Apache Camel - 从主体中获取属性值

node.js - TypeError : connection. 模型不是 mongoose-auto-increment 中的函数

android - com.parse.ParseRequest$ParseRequestException : bad json response (When I moved parse server to Heroku) 错误

javascript - 区分 Imgur 图库中的相册和图像

spring-boot - 什么是微服务的资源服务器?

javascript - 无法返回值以响应 mongoose/mongodb 和 nodejs

node.js - child_process.execFile 退出缓慢

spring - 创建名为 'org.springframework.cloud.netflix.eureka.server.EurekaServerInitializerConfiguration' 的 bean 时出错