python 开发模拟板Web QQ(一)

来源:互联网 发布:淘宝什么虚拟物品挣钱 编辑:程序博客网 时间:2024/05/29 08:03

   

                                                               Python开发模拟版Web QQ实验

         本实验环境基于django1.8+python3.4+mysql开发+bootstrap+jquery开发

 

设计思路:

如果1要给2发消息,前端通过Ajax把消息发到后台(webserver)。

Webserver通过to_id确定把消息转给2webserver不能主动把消息发给2Webserver是被动的。Webserver只能先把消息存起来,等待2去请求时,webserver再把消息给它。

 

设计流程图:



Webserver1发送的消息和2取消息处理思路:

利用消息队列,用python自带的queue先把消息存起来,2上线去取。2queue中取消息queue变成空时就阻塞,等待新消息。

12发消息,webserver把消息放到2的队列里面。

11000个朋友,不用先建1000queue。有谁和1聊天再来检测是否有队列存在,不存在再来建立queue。一般情况下活跃的好友为10%data_type:来判断是单人还是群主。

 

减少对服务器端请求频次的处理:

客户端只能去服务器端请求消息,一上线就去取。时时探测去服务器请求消息。时时请求太频繁,对服务器端压力太大。客户端请求时,webserver看有没有属于新消息。客户端请求,把连接挂起,挂起6秒,有新消息就返回,没有就等待6秒断开,在重新连接,降低请求连接次数。请求没消息挂起6秒,有消息返回。

以上为主要设计思路。
0 0
原创粉丝点击