我必须实现以下高负载应用程序:
用户通过浏览器将图像发送到网络服务器。服务器应该处理图像并将结果(几个字符串)发送回用户的浏览器。结果应该在 10 秒内出现,并且 Html-UI 在服务器处理时应该是响应式的(非阻塞)。
您如何看待以下架构,技术是否合适且解决方案是否可扩展?
- 有几个 Web 服务器 (~2-4) 准备好获取用户图像。
- 收到图像后,它被委托给一个处理服务器(本地网络中应该有大约 50 个处理服务器,无法从 Internet 访问)
- (a) 如果处理结果通过 ajax 以间隔(1000 毫秒)准备好,则客户端开始轮询 Web 服务器
- (b) 客户端具有实现双工浏览器 <-> web-server 通道的 flash/silverlight 组件,以便在结果准备好后立即从服务器接收结果。
其中有一些蒸汽的东西:
- 您个人更喜欢互联网环境中的 ajax 轮询方式还是双工通信(使用 flash/silverlight)?或者你会混合它们吗?
- web-server 应该如何知道处理结果已经准备好?我想本地互联网中应该有一个快速响应的中介服务,由处理服务器(最多 50 个处理服务器)通知处理结果,并通知网络服务器结果已准备好。