我们可以将我的架构定义为 ESB 吗?
Can we define my architecture as an ESB?
我已经阅读了许多关于 ESB(企业服务总线)的不同定义,但我并不清楚。
这是我自己的定义:ESB 是一种架构,而不是一种允许异构应用程序通过 BUS 相互通信的工具。 ESB的特殊性在于它可以有生产者和消费者。例如,一个生产者可以向总线内部的一个topic/queue发送一条消息,三个作为订阅者的消费者会收到同一条消息,这样就避免了点对点的流转。
ESB 的第二个特点是它允许在一个地方管理安全和日志,因为一切都在 ESB 内部。
我还听说 "routes" 设置了移动消息的规则(使用 Talend ESB),但我真的不明白这一点(如果您有任何我感兴趣的示例)。当然,可以创建 Web 服务来公开数据。这些服务必须是可扩展的并且能够抵抗 "Single Point of Failure".
我创建了一个架构,想知道它是否是 ESB 架构。
(我画错了,不是Queue而是Topic!)
上述过程的步骤:
- Producer:它监听不同数据库中的变化(更新,插入,...),一旦有变化,它就会检索数据并将其发送到排队。
- Queue:队列包含生产者发送的所有消息,并将它们发送给消费者。
- Consumers: Consumers 将进行数据质量处理并将新数据插入数据库。
对我来说,这种架构尊重 ESB,因为 activeMQ 就像一条总线。他在这里充当调解人。你怎么看?
我认为您的方向是正确的。但是,我认为有一个重要的区别可以确保每个消息流使用不同的队列。通常,每个消息类型都有一个队列是最佳做法。
消息流可以在同一个代理基础设施上共存,让您拥有更高的密度、更好的利用率,并能够根据需要在一个地方窃听消息流。
你的情况:
- 数据库 A -> queue://A -> 消费者 A
- 数据库 B -> queue://B -> 消费者 B
- 数据库 C -> queue://C -> 消费者 C
我已经阅读了许多关于 ESB(企业服务总线)的不同定义,但我并不清楚。
这是我自己的定义:ESB 是一种架构,而不是一种允许异构应用程序通过 BUS 相互通信的工具。 ESB的特殊性在于它可以有生产者和消费者。例如,一个生产者可以向总线内部的一个topic/queue发送一条消息,三个作为订阅者的消费者会收到同一条消息,这样就避免了点对点的流转。 ESB 的第二个特点是它允许在一个地方管理安全和日志,因为一切都在 ESB 内部。 我还听说 "routes" 设置了移动消息的规则(使用 Talend ESB),但我真的不明白这一点(如果您有任何我感兴趣的示例)。当然,可以创建 Web 服务来公开数据。这些服务必须是可扩展的并且能够抵抗 "Single Point of Failure".
我创建了一个架构,想知道它是否是 ESB 架构。
(我画错了,不是Queue而是Topic!)
上述过程的步骤:
- Producer:它监听不同数据库中的变化(更新,插入,...),一旦有变化,它就会检索数据并将其发送到排队。
- Queue:队列包含生产者发送的所有消息,并将它们发送给消费者。
- Consumers: Consumers 将进行数据质量处理并将新数据插入数据库。
对我来说,这种架构尊重 ESB,因为 activeMQ 就像一条总线。他在这里充当调解人。你怎么看?
我认为您的方向是正确的。但是,我认为有一个重要的区别可以确保每个消息流使用不同的队列。通常,每个消息类型都有一个队列是最佳做法。
消息流可以在同一个代理基础设施上共存,让您拥有更高的密度、更好的利用率,并能够根据需要在一个地方窃听消息流。
你的情况:
- 数据库 A -> queue://A -> 消费者 A
- 数据库 B -> queue://B -> 消费者 B
- 数据库 C -> queue://C -> 消费者 C