大applet大用户群低带宽

时间:2010-08-19 09:25:29

标签: java applet bandwidth

我在一个分散在WAN上的几千名用户使用的网页上有一个相当大的(4MB)applet。这些用户的带宽范围从微不足道的128Kbps到10Mbps。

当新版本的applet可用时会出现问题;它可以被所有用户浏览器自动下载,有效地阻塞网络。

他们真的很讨厌'释放日'早晨在这里:)

有解决这个问题的策略吗?

编辑:我只能从一对服务器集中提供此applet。我无法对托管或网络基础设施进行任何修改。

3 个答案:

答案 0 :(得分:1)

以下是一些想法:

  • 将您的用户社区划分为N个相等的组,并为每个组提供不同的小程序URL。然后错开每个组的applet副本更新的时间。

  • 将applet放在已经调整过的服务器上,以解释applet的修改日期,并使用它来(粗略地)限制浏览器获取更新的applet的速率。

  • 将applet推送到大型用户组的本地网络上的位置。让中央服务器发出HTTP重定向,以便每个浏览器从“关闭”位置获取applet。

  • 部署缓存HTTP代理&本地网络上的autoproxy文件,并阻止对applet的直接访问,强制用户通过代理获取applet。

最后一个选项可能是最好的。

答案 1 :(得分:1)

除了Stephen C提到的内容之外,我还想添加另一个你应该考虑的策略。

  • 考虑将applet代码库分解为不同的模块(档案)
  • 更新这些模块而不是整个4MB小程序。您可以使用特殊的类加载器来检查给定模块的新版本是否可用。
  • 对于补丁,有一个单独的“补丁”存档,可以在任何其他存档之前加载,以便从补丁存档加载任何更新的类,而不是旧的已下载的存档。
  • java web start已经做了一些这些事情以避免整个更新。您可以查看链接(开发人员文档)以获取一些指示。

答案 2 :(得分:0)

如果您可以在目录中放置.htaccess,则可以添加expiresByType,以便客户端不会每次都询问服务器。

你看过pack200了吗?和(pack200 + .htaccess) 你看过索引的Jar吗?

安东尼