关于POLL风格的设计

10-05-18 lovejdon
现在好多框架提供了所谓的POLL风格的设计。我们在利用AJAX发送请求的时候,实际的异步是从客户端服务器一体的角度说的异步操作。但是POLL风格参看了相关资料,说的是,客户端首先发请求到服务器计算。而此计算在服务器层面是异步操作。比如利用异步的注解来在服务器单独开一个线程去执行(此方法有可能特别耗时),那么这样客户端就可以马上得到服务器端响应,相当之快。在一个客户端的延迟时间后,客户端再发请求去获取计算的值。实际是发了两次请求到客户端。

而以前应用AJAX的时候实际从服务器端的角度讲还是同步的,但是在服务器端再来一次异步的操作的意义是什么?我有点迷惑。个人有个理解,不知道是否正确。

我们以往的操作对于耗时的服务端的计算,如果客户端请求次数过多,实际在服务器端会被排列请求,或者是在客户端有请求队列,保证服务器端的组件不被并发访问。(框架会在服务器端保证这个组件不被并发访问)

如果我们让在服务器端的操作异步,那么是不是能防止并发操作的产生?

banq
2010-05-19 18:34
主要适合重量计算,比如数据库查询排序检索等,这些都需要ajax 等待处理结果,那还不如让它跑两次,跟你去买烧饼一样,没有现成的,要做,第一次去让他做,第二次来取就可以。

mercyblitz
2010-06-27 21:43
2010年05月19日 18:34 "banq"的内容
主要适合重量计算,比如数据库查询排序检索等,这些都需要ajax 等待处理结果,那还不如让它跑两次,跟你去买烧饼一样,没有现成的,要做,第一次去让他做,第二次来取就可以。 ...

貌似有点不对,异步Web服务器是提高Scale。一个服务器线程能够处理多个请求,那么一个请求发送过去可能被阻塞或者延迟处理。从而处理更多的用户请求。

猜你喜欢