我有一个关于处理消息排序的架构问题。出于这个问题的目的,运输是无关紧要的,所以我不打算指定一个。
假设我们有三个系统,一个网站,一个 CRM 和一个 ERP。在本例中,ERP 将是数据所有权方面的“主”系统。网站和 CRM 都可以向 ERP 系统发送新的客户信息。然后,ERP 系统添加客户并使用新分配的帐号发布客户,以便网站和 CRM 可以将帐号添加到其本地客户记录中。这是一个非常简单的过程。
接下来我们继续下订单。需要帐号才能让 CRM 或网站通过 ERP 系统下订单。然而,即使客户缺少帐号,CRM 也将允许用户下订单。(对于此示例,假设我们无法修改 CRM 行为)这创造了用户可以创建新客户并在 CRM 中更新帐号之前下订单的可能性。
处理这种情况的最佳方法是什么?最好在没有帐号的情况下发送订单消息并让它进入错误队列?让 CRM 端点保存消息并等到 CRM 中更新帐号会更好吗?也许是我没有想到的完全不同的东西?
提前感谢您的帮助。