但今天谁愿意建造庞然大物呢?
Posted: Wed Jan 29, 2025 8:58 am
最近,微服务和独立系统变得流行。 Eberhard Wolff 对此做了很好的总结,您可以在这里阅读。这意味着您已经更深入地应用了企业架构,即应用程序级别。虽然在企业架构中,每个组件(或者更确切地说每个应用程序)都是使用自己的数据(通常是数据库)独立自主开发的,但应用程序本身现在已分解为多个具有自己的数据和数据库的自主微服务。分布式系统是从单体构建的。企业架构师也会遇到类似的问题。其中包括安全性、通信(即接口)和组件之间的依赖关系、数据一致性或数据集成。
我有过数据集成的经验,并反复问自己以下问题:各个微服务的数据如何传输到数据仓库或其他报告数据库?毕竟,您还想进行分析和评估或向客户提供数据。
数据从各种“源”读取并复制到目标系统中。可以使用 ETL 工具以批处理模式或通过实时变更数据捕获来完成集成。您可以在许多公司中找到这种类型的数据集成。通过微服务架构,在我看来集成更加广泛,因为 教授edu电子邮件地址 现在必须在多个系统之间交换数据。由于与数据库及其模式的紧密连接,微服务不再那么自治和隔离。如果架构发生变化,其他系统组件也必须进行相应调整。
这些服务并不是孤立存在的,还必须能够对变化做出反应。您可以在此处了解微服务通信的工作原理。为了保持较小的耦合,通常使用消息传递,例如 JMS。如果数据存储在数据库中,您可以向 Message Broker 发送消息。当然,必须保证数据在出现错误时保持一致。通常,为此使用分布式事务,即所谓的两阶段提交。但两阶段提交也有缺点:事务管理器的故障可能导致死锁并危及整个系统的可用性。
事件溯源
软件应用程序的构建是为了优化业务流程。在销售等领域,可以通过在线应用程序来增加销售额。在此过程中,数据被收集,例如订单接收或交付,以便能够回应任何客户投诉。然后可以使用这些报告来分析和进一步优化流程。
每家公司都希望能够预测客户的需求。您是否想知道亚马逊如何准确知道您对哪些主题或书籍感兴趣?统计方法和机器学习算法长期以来一直有助于更好地了解客户需求。
除了销售等典型领域之外,还有一些公司从客户那里收集原始数据,对其进行丰富、评估并转售所获得的信息。
令人惊讶的是,许多公司仍然接受数据丢失。我想用订购流程的示例来说明这一点:客户在网上商店下订单购买特定产品。除其他外,订单还有一个属性,即初始值的状态,例如“待处理”、“已取消”和“已关闭”。申请已成功交付。
我有过数据集成的经验,并反复问自己以下问题:各个微服务的数据如何传输到数据仓库或其他报告数据库?毕竟,您还想进行分析和评估或向客户提供数据。
数据从各种“源”读取并复制到目标系统中。可以使用 ETL 工具以批处理模式或通过实时变更数据捕获来完成集成。您可以在许多公司中找到这种类型的数据集成。通过微服务架构,在我看来集成更加广泛,因为 教授edu电子邮件地址 现在必须在多个系统之间交换数据。由于与数据库及其模式的紧密连接,微服务不再那么自治和隔离。如果架构发生变化,其他系统组件也必须进行相应调整。
这些服务并不是孤立存在的,还必须能够对变化做出反应。您可以在此处了解微服务通信的工作原理。为了保持较小的耦合,通常使用消息传递,例如 JMS。如果数据存储在数据库中,您可以向 Message Broker 发送消息。当然,必须保证数据在出现错误时保持一致。通常,为此使用分布式事务,即所谓的两阶段提交。但两阶段提交也有缺点:事务管理器的故障可能导致死锁并危及整个系统的可用性。
事件溯源
软件应用程序的构建是为了优化业务流程。在销售等领域,可以通过在线应用程序来增加销售额。在此过程中,数据被收集,例如订单接收或交付,以便能够回应任何客户投诉。然后可以使用这些报告来分析和进一步优化流程。
每家公司都希望能够预测客户的需求。您是否想知道亚马逊如何准确知道您对哪些主题或书籍感兴趣?统计方法和机器学习算法长期以来一直有助于更好地了解客户需求。
除了销售等典型领域之外,还有一些公司从客户那里收集原始数据,对其进行丰富、评估并转售所获得的信息。
令人惊讶的是,许多公司仍然接受数据丢失。我想用订购流程的示例来说明这一点:客户在网上商店下订单购买特定产品。除其他外,订单还有一个属性,即初始值的状态,例如“待处理”、“已取消”和“已关闭”。申请已成功交付。