【问题标题】:Enterprise Service Bus real world usage or examples企业服务总线真实世界使用或示例
【发布时间】:2010-04-07 13:33:20
【问题描述】:

我正在研究 NServiceBus 等 .net 的 ESB 问题,有人可以强调可以解决什么样的现实世界业务问题(忘记技术优势)?这是用来集成不同系统的吗?

【问题讨论】:

  • 您是否将可扩展性等问题视为“现实世界的业务问题”?可维护性如何——比如防止系统随着时间的推移变成一团泥?

标签: c# nservicebus esb


【解决方案1】:

使用它的一个非常流行的原因是利用 发布者订阅者 模式。

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

并行版本控制有很多好处。较新的命令可能有不同的名称。如果您有兴趣使用Command Query Separation,它也会有所帮助。

另一种方法是实现横切关注点以听取特定消息。

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

【讨论】:

  • 我正在寻找这个东西的用例,我可以回去说嘿,如果我们有一个 esb,我们可以像其他人一样解决某某某事....
  • @abmv 这些可能使您能够解决一些现实世界的问题,例如水平扩展、实时版本控制、服务分离、新的审计功能。它不是一把金锤,但在某些情况下非常有用,需要了解这些情况的细节。我不相信你可以说绝对使用它,除非你在你的限制范围内权衡优势和成本。
【解决方案2】:

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

【讨论】:

  • 您的意思是您将应用程序完成的数据库更新传播到使用 rabbitMQ 的其他应用程序。其他服务是否会为我们保留这些数据等?
猜你喜欢
  • 2011-03-22
  • 1970-01-01
  • 2011-12-26
  • 1970-01-01
  • 2012-01-07
  • 2016-11-26
  • 2010-11-23
  • 1970-01-01
  • 2021-10-21
相关资源
最近更新 更多