2

C# 2008

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

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

我正在考虑可能每 5 秒 ping 一次 Web 服务器。但是,使用 100 或 1000 的应用程序会使 Web 服务器超载。

有人告诉我 ESB 可以解决这个问题。我正在考虑使用它的方式,我不完全确定。就是让每个应用都订阅 ESB。如果 Web 服务器离线,它将向所有应用程序发送消息。

但是,我知道 ESB 非常庞大且复杂,也许这对我的问题来说是多余的。

我理解正确吗。

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

非常感谢

4

2 回答 2

2

为这个简单的目的指定 ESB 听起来是不恰当的。为什么不让客户端机器自己弄清楚,因为它们需要定期访问网站?与其一遍又一遍地 ping 网络服务器,在他们的正常活动过程中,他们将需要出于任何正常原因访问网络服务器,如果他们得到错误响应,他们可以分支到“网络服务器已关闭”代码路径。

于 2009-05-01T04:22:44.957 回答
2

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

想到了两种可能:

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

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

于 2009-05-01T04:26:31.143 回答