事件溯源 软件应用程序的构建是为了优化
Posted: Wed Jan 29, 2025 6:16 am
这些服务并不是孤立存在的,还必须能够对变化做出反应。您可以在此处了解微服务通信的工作原理。为了保持较小的耦合,通常使用消息传递,例如 JMS。如果数据存储在数据库中,您可以向 Message Broker 发送消息。当然,必须保证数据在出现错误时保持一致。通常,为此使用分布式事务,即所谓的两阶段提交。但两阶段提交也有缺点:事务管理器的故障可能导致死锁并危及整个系统的可用性。
业务流程。在销售等领域,可以通过在线应用程序来增加销售额。在此过程中,数据被收集,例如订单接收或交付,以便能够回应任何客户投诉。然后可以使用这些报告来分析和进一步优化流程。
每家公司都希望能够预测客户的需求。您是否想知道亚马逊 验光师准确的电子邮件列表 如何准确知道您对哪些主题或书籍感兴趣?统计方法和机器学习算法长期以来一直有助于更好地了解客户需求。
除了销售等典型领域外,还有一些公司从客户那里收集原始数据,对其进行丰富、评估并转售所获得的信息。
令人惊讶的是,许多公司仍然接受数据丢失。我想用订购流程的示例来说明这一点:客户在网上商店下订单购买特定产品。除其他外,订单还有一个属性,即初始值的状态,例如“待处理”、“已取消”和“已关闭”。申请已成功交付。随后,添加新的流程步骤,并且状态获得新值“已接受”。现在我们假设在市场上几个月后,新的流程经理想知道各个流程步骤平均花费了多少时间。不幸的是,他没有运气,因为每次更新(表更新)都会覆盖状态。现在只能查询订单当前状态。在我们的示例中,公司将从现在开始存储历史数据,以防止将来出现这种情况。但重点是:为什么不立即停止对原始数据的更改?
事件溯源为数据存储提供了一个有趣的选项:这需要什么很快就会解释:应用程序的状态作为序列化事件的结果而持久化。系统中所发生的事情都会被保存在日志中。以我们的订单为例,状态更改将按顺序存储为消息,即“OrderStatusChanged”,具有“OrderId”、“OrderStatus”、“Timestamp”等属性。因此,可以随时根据事件确定订单的状态。
业务流程。在销售等领域,可以通过在线应用程序来增加销售额。在此过程中,数据被收集,例如订单接收或交付,以便能够回应任何客户投诉。然后可以使用这些报告来分析和进一步优化流程。
每家公司都希望能够预测客户的需求。您是否想知道亚马逊 验光师准确的电子邮件列表 如何准确知道您对哪些主题或书籍感兴趣?统计方法和机器学习算法长期以来一直有助于更好地了解客户需求。
除了销售等典型领域外,还有一些公司从客户那里收集原始数据,对其进行丰富、评估并转售所获得的信息。
令人惊讶的是,许多公司仍然接受数据丢失。我想用订购流程的示例来说明这一点:客户在网上商店下订单购买特定产品。除其他外,订单还有一个属性,即初始值的状态,例如“待处理”、“已取消”和“已关闭”。申请已成功交付。随后,添加新的流程步骤,并且状态获得新值“已接受”。现在我们假设在市场上几个月后,新的流程经理想知道各个流程步骤平均花费了多少时间。不幸的是,他没有运气,因为每次更新(表更新)都会覆盖状态。现在只能查询订单当前状态。在我们的示例中,公司将从现在开始存储历史数据,以防止将来出现这种情况。但重点是:为什么不立即停止对原始数据的更改?
事件溯源为数据存储提供了一个有趣的选项:这需要什么很快就会解释:应用程序的状态作为序列化事件的结果而持久化。系统中所发生的事情都会被保存在日志中。以我们的订单为例,状态更改将按顺序存储为消息,即“OrderStatusChanged”,具有“OrderId”、“OrderStatus”、“Timestamp”等属性。因此,可以随时根据事件确定订单的状态。