2010-04-07 74 views
7

我正在寻找与.net像NServiceBus等ESB的东西,可以突出什么样的真实世界的业务问题可以解决(忘记技术优势)?这是用来集成不同的系统。企业服务总线真实世界的用法或示例

+2

你是否将可扩展性等事物视为“真实世界的业务问题”?可维护性如何呢?就像防止系统随着时间的流逝变成一个大泥潭一样? – 2010-04-07 14:36:37

回答

3

使用它的一个非常受欢迎的理由是使用发布者订户模式。

一个例子,一个命令消息被发送到应用层来处理一些业务逻辑。完成后,将发布一条消息,其中包含多个服务正在侦听的任何更新数据,比如说一组缓存。

有并排版本的好处。较新的命令可能具有不同的名称。如果您有兴趣使用Command Query Separation,它也可以提供帮助。

另一个将实施交叉切割问题聆听特定的消息。

总而言之,这是一个非常深刻的主题。但是,我会先问你有什么问题?因为它带来的一切都有自己的挑战,当然不是免费的(努力明智我的意思不是成本)。

+0

我正在寻找这个东西的用具,我可以回去说嘿,如果我们有一个esb,我们可以解决某某像其他人一样的东西,例如... – abmv 2010-04-07 13:55:00

+0

@abmv这些可能使你得到一些真实世界的问题,如横向扩展,实时版本控制,服务分离和新的审计功能。这不是一把金锤,但在某些情况下非常有用,需要了解这些情况的细节。我不认为你可以绝对使用它,除非你在约束条件下减少优势和成本。 – dove 2010-04-07 14:55:30

3

我们使用RabbitMQ进行消息队列。这是快速和强大的生产者消费解决方案。我们使用瞬态和持续交付类型。瞬态消息用于软实时计算更新。持久实体状态更新 - 主要用于将数据库更新传输到其他服务。

+0

你的意思是你使用rabbitMQ.do将你的应用程序完成的数据库更新传播到其他应用程序其他服务会为我们保留这些数据等等? – abmv 2010-04-07 13:53:44

+0

是的,我们通过持续队列传播数据库更新。 – Kimi 2010-04-07 14:00:13