The Seaside书中说:“在处理http请求时保存[图像]是您想要避免的风险”。
这是为什么?是暂时放慢服务http请求还是请求丢失或发生错误?
答案 0 :(得分:3)
似乎这只是一个放慢速度的问题。海边列表上有this quite thorough thread,其中最相关的帖子是this case study电子商务网站:
因此,目前正是如此:
- 图像会不时保存(通常是每天),并复制到单独的“备份”计算机。
- 如果发生任何不良事件,将抓取最后一张图片,以及自上次保存图片以来发出的订单和/或礼品券 只需重新输入。
醇>并且,#2很少非常 - 可能是两次或三次 一年,然后事实证明这通常是因为我做了一些事情 笨
此外,关于Smalltalk的一个好处是,它可以很容易地进行快速实验。您可以下载Seaside并停止其中一个示例的回调。例如:
WACounter>>renderContentOn: html
...
html anchor
callback: [
self halt.
self increase ];
with: '++'.
...
答案 1 :(得分:3)
在保存图像之前,执行注册的关闭操作。这意味着源文件已关闭,Web服务器将关闭。保存映像后,它会执行启动操作,这通常会再次启动Web服务器。根据服务器实现,可能会关闭打开的连接。
这意味着您在保存图像时无法接受新连接,并且可能会暂时挂起或关闭打开的连接。对于这两个问题,(至少)有两个简单的解决方法:
在保存之前使用OSProcess分割图像(DabbleDB,CmsBox)。
使用多个映像和负载均衡器,以便在保存之前可以从活动服务器中逐个删除一个映像。