【问题标题】:Hotel communication microservice酒店通信微服务
【发布时间】:2017-09-14 14:21:08
【问题描述】:

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

是否应调用这些事件:SEND_RESERVATION_CONFIRMATION_EMAIL,使预订服务知道电子邮件通信。还是应该有一个更通用的事件RESERVATION_CONFIRMED,从而产生一封确认电子邮件?

【问题讨论】:

    标签: microservices


    【解决方案1】:

    应将这些事件称为:SEND_RESERVATION_CONFIRMATION_EMAIL

    没有。事件应命名为过去的句子。

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-07
      • 2020-06-16
      • 2022-10-02
      • 2018-06-30
      • 2020-11-18
      • 2017-01-28
      相关资源
      最近更新 更多