Python網絡服務框架:greenev

y37f 10年前發布 | 13K 次閱讀 greenev 網絡工具包

greenev是一個基于greenlet協程,事件驅動,非阻塞socket模型的Python網絡服務框架,它使得可以編寫同步的代碼,卻得到異步執行的優點。

本項目受到gevent, openresty, alilua, skynet, clowwindy/ssloop的啟發,在此表示感謝。

  • reactor模式采用基于epoll, kqueue, poll, select的IO復用機制

  • 基于底層的reactor完成上層greenlet協程的調度

  • 在CentOS6.5, Ubuntu12.04, FreeBSD10.1, Windows7上測試通過

  • 只需調用g.parent.switch掛起當前的協程,而無需管理其中的細節

測試前請修改如下系統參數(CentOS):

net.ipv4.tcp_syncookies = 1 
net.ipv4.tcp_tw_reuse = 1 
net.ipv4.tcp_tw_recycle = 1 
net.ipv4.tcp_fin_timeout = 30 
net.ipv4.tcp_keepalive_time = 1200 
net.ipv4.ip_local_port_range = 1024 65000 
net.ipv4.tcp_max_syn_backlog = 8192 
fs.file-max=65535 
net.ipv4.tcp_max_tw_buckets = 20000 
net.nf_conntrack_max = 65000 
net.netfilter.nf_conntrack_tcp_timeout_established = 1200

項目主頁:http://www.baiduhome.net/lib/view/home/1426389079551

 本文由用戶 y37f 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!