通信微服务 - 邮箱验证 Link

Communication microservice - Email verification Link

我有 2 个微服务身份和通信。当用户注册时,我想向他的电子邮件发送激活 link。激活 link 是在身份端生成的,我如何将其传递给通信微服务以发送电子邮件?或者通信微服务不应作为单独的微服务存在,但每个微服务都可以使用 IEmailSender 实用程序发送电子邮件?

我的系统的通信限界上下文错误。它只是一个技术帮助服务,每个限界上下文都应该拥有它以实现其业务功能。例如,为了激活帐户的身份需要这种基础设施的可能性。删除通信BC,直接从Identity发送邮件。

我通常有一个处理电子邮件的端点。我使用我的 Shuttle.Esb 开源服务总线来促进消息传递,但任何服务总线都可以,或者您可以选择使用 RabbitMQ 之类的东西直接对消息传递进行编码。

端点之间的集成由相关限界上下文的编排端点处理。此编排层将向电子邮件端点发送 SendEMailCommand,然后在成功发送电子邮件后收到确认。这样就有一个处理电子邮件的单点。

当您让每个限界上下文访问类似 IEMailGateway 的东西时,这意味着您可能需要做更多的工作才能使电子邮件正常运行,因为您需要访问相关的邮件服务器这可能意味着处理防火墙、端口、安全