酒店通讯微服务

时间:2017-09-13 21:00:43

标签: microservices

在酒店的微服务架构中,我想创建一个能处理所有电子邮件,短信的通信服务......这项服务应该由异步事件触发。

是否应调用这些事件:SEND_RESERVATION_CONFIRMATION_EMAIL,使预订服务了解电子邮件通信。或者是否应该有更通用的事件RESERVATION_CONFIRMED,从而产生确认电子邮件?

1 个答案:

答案 0 :(得分:2)

  

是否应调用这些事件:SEND_RESERVATION_CONFIRMATION_EMAIL

没有。事件应该在过去被命名为句子。

  

使预订服务了解电子邮件通信

我不会做那种耦合。预订服务负责预订,而不是通知客户的方法。

  

或者是否应该有更通用的事件RESERVATION_CONFIRMED,从而产生确认电子邮件?

是的,RESERVATION_CONFIRMED似乎是一个不错的选择;它代表真正发生的事情,并不包含接下来应该做什么的指示。通知客户的工作流程/过程应该由另一个组件管理,即Saga / Process manager。这个Saga将收到RESERVATION_CONFIRMED事件,然后将SEND_RESERVATION_CONFIRMATION_EMAIL 命令发送给负责任的微服务。