Wicket大量使用会话,这可能意味着“大内存占用”(如某些开发人员所说)对于包含大量页面的大型应用程序。如果您要向财富500强中的一群CTO解释他们必须采用Apache Wicket进行大型Web应用程序部署,并且他们对Wicket扩展问题的担忧只是糟糕的假设;你会争论什么?
PS:
答案 0 :(得分:6)
以下网址满足大规模部署中Apache Wicket的IMO可信度:http://mobile.walmart.com查看源代码。
另请参阅http://mexico.com,http://vegas.com,http://adscale.de,并使用alexa查看这些域名以查看其排名。
所以,是的,很有可能使用Wicket构建互联网规模应用程序。但无论你是否使用Wicket,Struts,SpringMVC,或者只是普通的旧JSP:互联网规模的软件开发都是 hard 。没有框架可以让你轻松。没有框架可以为您提供具有为5M用户提供服务的下一个完成向导的软件。
答案 1 :(得分:4)
首先,请解释足迹的来源,主要是PageMap
。
下一步是解释页面映射的作用,它的用途以及解决的问题(例如后退按钮和弹出对话框)。问题,必须以类似的内存成本手动解决,但开发成本和风险要大得多。
最后,告诉他们如何影响页面映射中的内容,辅助页面缓存以及如何控制大小。
显然你也可以向他们展示基准,但可能更好的选择是向Martijn Dashorst放弃一条线(尽管我相信他还在阅读这篇文章:))。
无论如何,我会尝试两点:
答案 2 :(得分:1)
Wicket会在会话中保存最后N页。这样做是为了能够在需要时更快地加载页面。主要在两种情况下需要它 - 使用浏览器后退按钮或在Ajax应用程序中。 我认为后退按钮很清楚,无需解释。 关于Ajax - 每个ajax请求都需要当前页面(会话缓存中的最后一页)来查找其中的组件并调用其回调方法,更新某些模型等。 从他们的会话大小完全取决于您的应用程序代码。任何Web框架都是一样的。 要缓存的页数(N以上)是可配置的,即根据应用程序的类型,您可以根据需要调整它。即使没有内存缓存(N = 0),页面也会存储在磁盘中(再次可配置),页面会再次被查找,只会慢一点。
关于一些参考文献:
将此信息发送给您的首席技术官; - )