企业服务总线这是正确的解决方案吗?

时间:2009-05-01 03:46:23

标签: esb

C#2008

我开发了一个需要连接到Web服务器才能工作的应用程序。如果Web服务器脱机。必须通知应用程序,以便使用该应用程序的用户可以知道发生了什么。

此应用程序将从我们的客户网站从互联网上下载。因此,成百上千的用户可以拥有它。

我在考虑每隔5秒ping一次网络服务器。但是,使用100或1000的应用程序会使Web服务器过载。

有人告诉我ESB适合这个问题。我想用这个的方式,我并不完全确定。是让每个应用程序订阅ESB。如果Web服务器脱机,它将向所有应用程序发送消息。

但是,据我所知,ESB非常庞大而复杂,可能这对我的问题来说太过分了。

我理解正确吗?

如果ESB不是正确的选择,我可以使用另一种设计模式吗?

非常感谢

2 个答案:

答案 0 :(得分:2)

为了这个简单的目的,为ESB规范听起来不合适。为什么不让客户端计算机弄清楚它们是否经常需要访问网站?在正常活动过程中,他们不需要反复ping网络服务器,他们需要出于任何正常原因访问Web服务器,如果他们得到错误响应,他们可以分支“Web服务器已关闭”代码路径。

答案 1 :(得分:2)

ESB听起来像是错误的解决方案。

有两种可能性浮现在脑海中:

(1)如果用户不需要知道他们实时脱机,请在尝试访问服务器时将检测推迟到通常的错误处理。

(2)如果您必须知道实时,请在每个客户端站点使用一个小代理,以便只有代理需要ping您的服务器,而不是每个桌面。