2

对于分布式应用程序,您有很多客户端和一个主服务器,您应该:

  • 让客户端变笨,让服务器变聪明:客户端快速且非侵入性。仅在 1 个地方需要业务规则
  • 让客户端聪明而服务器愚蠢:尽可能多地从服务器上卸下负载

附加信息:

  • 客户收集了大量有关他们所使用的计算机的数据。服务器必须分析所有这些信息以确定这些计算机的运行状况
  • 客户端计算机的所有者是喜怒无常的,如果客户端开始消耗太多资源,将关闭客户端(从而否定分布式应用程序帮助诊断问题的目的)
4

3 回答 3

3

您应该尽可能多地进行客户端处理。这将使您的应用程序能够比在服务器端进行处理更好地扩展。为了解决您喜怒无常的用户问题,您可以考虑让您的客户端进程以非常低的优先级运行,这样用户的性能不会明显下降。

于 2008-08-30T05:44:31.273 回答
2

在客户端-服务器设置中,如果您关心安全性,您应该始终假设客户端可能已被破坏来进行编程。即使没有,也总会有人使用旧版本的客户端,使用竞争或修改版本的客户端,或者只是网络连接有点混乱的风险。

因此,当您在客户端上做尽可能多的工作、处理并将信息编组为正确的形式时,服务器需要对客户端提供的任何内容进行彻底的完整性检查。

所以我猜的答案是“两者”。

于 2008-08-30T12:31:54.133 回答
0

服务器必须分析所有这些信息以确定这些计算机的运行状况

这可能是迄今为止解释您的应用程序的最大线索。您能否就该应用程序在此分布式环境中寻求实现的目标提供更详细的简报?我们甚至不知道客户端处理是磁盘 I/O 还是处理器密集型。您如何设计解决方案取决于需要做什么来帮助用户/企业完成他们的工作和目标。

于 2008-08-30T10:59:35.040 回答