

使用领域驱动设计DDD和CQRS实现身份验证的微服务源码项目
source link: https://www.jdon.com/60875
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

使用领域驱动设计DDD和CQRS实现身份验证的微服务源码项目
主要目标的:
- 展示如何实现领域驱动设计
- 展示如何实现 CQRS
- 演示应用程序的完整实现
- 这不是另一个概念证明 (PoC)
- 目标是展示可以在生产环境中运行的应用程序的实现
- 展示最佳实践和面向对象编程原则的应用
- 介绍设计模式的使用。何时、如何以及为什么可以使用它们
- 使用领域驱动设计方法(战术模式)演示实现
- 介绍领域模型单元测试的实现(考虑可测试设计)
- 介绍集成测试的实施
- 仅介绍测试 Web 层的实现
- 表单登录、谷歌登录、Facebook 登录
- 电子邮件通知
- 会话识别和认证
- 服务发现(可能使用 K8s)。
- 创建用于身份验证的微服务(当前存储库)。
- 创建用于授权的微服务 - RBAC 的简单实现。
- 创建用于发送电子邮件的微服务。
- 创建用于本地化的微服务——这个想法是提供用于将应用程序翻译成各种语言的 UI,作为大多数应用程序的通用部分。
- 为异步通信(AC)创建一个微服务——这个想法是创建一个在微服务之间分发消息的微服务。微服务应该在 DB(例如 Redis)和 RMQ 上工作以提供异步。微服务应该提供 REST API 来访问它。这样,我们应该只在一个地方拥有 RMQ,并且与这个微服务的通信应该通过 REST API。微服务应提供以下路由:
- 其他微服务注册消息的路由。例如,电子邮件微服务可以注册带有所需属性、端点和版本的消息发送电子邮件。该配置应保存到数据库中。
- 发送消息 - 例如,身份验证微服务应在使用名称send-email和所需属性注册用户后发送消息。AC 微服务将接收该消息,验证所需的属性,使用端点(保存在 DB 中)丰富消息正文并将消息发布到 RMQ。RMQ 消费者将消费消息并将其分发到端点。
Recommend
-
63
众成翻译(zcfy.cc),中国最好的技术翻译社区,最懂译者的翻译平台,奇虎360最大前端团队“奇舞团”出品。Zhongcheng Tanslation(zcfy.cc), the best technical translation community and the most translator-friendly translation platform in China. Developed...
-
55
工作原理 前端页面进行登录操作, 将用户名与密码发给服务器; 服务器进行效验, 通过后生成token, 包含信息有密钥, uid, 过期时间, 一些随机算法等 ,然后返回给前端 前端将token保存在本地中, 建议使用localstorage进行保存. 下
-
12
2004年,当Eric Evans的那本《领域驱动设计——软件核心复杂性应对之道》(后文简称《领域驱动设计》)出版时,我还在念高中,接触到领域驱动设计(DDD)已经是8年后的事情了。那时,我正打算在软件开发之路上更进一步,经同事介绍,我开始...
-
10
公司大了,内网系统多了,关键性信息和商业秘密也多了以后,内网信息安全就成了很重要的命题,使用各种框架默认带有的类库,直接弄一个简单的用户名密码校验就已经不满足需求了。 设计一个身份验证解决方案就势在必行,当然了,设计一个解决方案,不...
-
4
本文基于 Istio1.5 编写测试Istio 支持使用 JWT 对终端用户进行身份验证(Istio End User Authentication),支持多种 JWT 签名算法。目前主流的 JWT 算法是 RS256/ES256。(请忽略 HS256,该算法不适合分布式 JWT 验证...
-
6
使用 OAuth 2.0 进行 Kafka 身份验证 在 Strimzi 0.14.0 中,我们为 Kafka 代理支持的标准集添加了一个额外的身份验证选项。您的 Kafka 客户端现在可以在与 Kafka 代理建立会话时使用基于 OAuth 2.0 令牌的身份验证。通过这种身份验证,Kafka 客户端和...
-
11
当前位置:DaoCloud道客博客 > 干货 > SPIFFE 和 SPIRE:云安全身份验...
-
8
使用PHP实现双因素身份验证 (2FA) 我们使用google2fa-qrcode组件(https://github.com/antonioribeiro/google2fa-qrcode)来实现: 安装google2fa-qrcode:
-
6
Golang 中实现基于 JWT 的身份验证 在这篇文章中,我们将了解基于
-
3
Apache Causeway:实现领域驱动设计的原型工具 Apache Causeway™ 通过自动为 Spring Boot™ 应用程序生成 UI 来实现域驱动的...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK