服务器消息推送问题(网站上好友消息发送)

小海bug 发布于 2013/09/16 16:50
阅读 348
收藏 2

目前我所知的方式:有更好的 欢迎指教啊..

方式一:长连接,但这种方式阻塞在那里 ,如果用户多了 这个资源消耗岂不是很大?

方式二:ajax轮循 ,隔断时间访问一次,这个用户多了 当然压力也会很大

我想知道 这两种方式 哪个压力更大 ,哪种方式 更适合好友发送消息这种场景?欢迎指教啊..

加载中
0
韭零后张子游
韭零后张子游

方式一。我感觉不要求及时性吧。参考微博吧。我记得微博使用openfire做的。

0
小海bug
小海bug

引用来自“张子游”的答案

方式一。我感觉不要求及时性吧。参考微博吧。我记得微博使用openfire做的。

额...  不好意思 没太读懂你的意思  不要求及时性的 话 应该选择 方式二啊  方式一的及时性比二要高啊
0
韭零后张子游
韭零后张子游

引用来自“小扈1”的答案

引用来自“张子游”的答案

方式一。我感觉不要求及时性吧。参考微博吧。我记得微博使用openfire做的。

额...  不好意思 没太读懂你的意思  不要求及时性的 话 应该选择 方式二啊  方式一的及时性比二要高啊
方式2压力更大。
0
酒逍遥
酒逍遥
websocket 也可以啊....IE下可以用 flash 作为socket 通信层
0
小海bug
小海bug

引用来自“张子游”的答案

引用来自“小扈1”的答案

引用来自“张子游”的答案

方式一。我感觉不要求及时性吧。参考微博吧。我记得微博使用openfire做的。

额...  不好意思 没太读懂你的意思  不要求及时性的 话 应该选择 方式二啊  方式一的及时性比二要高啊
方式2压力更大。

我做个假设 方式1在后台阻塞10秒钟 或者发现变化 返回给客户端(返回后会重新发起请求 继续阻塞在那里等待)

50w用户在线 会有50w个线程阻塞在那里

方式2  每10秒轮询一次  哪个压力大(这个轮询 并不阻塞)

50w用户 隔10秒访问一次  哪个更耗费资源...

0
小海bug
小海bug

引用来自“酒逍遥”的答案

websocket 也可以啊....IE下可以用 flash 作为socket 通信层
嗯 这个也可以  这个是不是也可以看成 一种长连接呢  通过socket实现的真正的长连接
0
酒逍遥
酒逍遥

引用来自“小扈1”的答案

引用来自“酒逍遥”的答案

websocket 也可以啊....IE下可以用 flash 作为socket 通信层
嗯 这个也可以  这个是不是也可以看成 一种长连接呢  通过socket实现的真正的长连接
是的...但是这个长连接 不通过web 服务器...服务端可以用nodejs ...效率和资源使用会好很多的.
0
小海bug
小海bug

引用来自“酒逍遥”的答案

引用来自“小扈1”的答案

引用来自“酒逍遥”的答案

websocket 也可以啊....IE下可以用 flash 作为socket 通信层
嗯 这个也可以  这个是不是也可以看成 一种长连接呢  通过socket实现的真正的长连接
是的...但是这个长连接 不通过web 服务器...服务端可以用nodejs ...效率和资源使用会好很多的.
嗯 谢谢 这是一种解决方向...
酒逍遥
酒逍遥
回复 @小扈1 : chome ,firefox包括IE10 本身是支持websocket的. 比较低版本的IE 不支持, 替代方案是用flash做底层的socket通信.这个网上也有完整的方案和代码.对于用户来说是感觉不到区别的.
小海bug
小海bug
但需要浏览器对flash的支持吧?在不需要第三方插件的情况下。。
0
Monkey
Monkey
老老实实刷新,长连接,一台服务器能顶的住长连接几千就相当牛逼了。
0
成都阿布
成都阿布
刷新处理好啦 无问题
返回顶部
顶部