最近打算写一个python2.7的扩展装饰器,用来扩展tornadio2框架的通信会话和session的功能。
现在的问题:
1、tornadio2是非常优秀的socketIO框架,但是运行过程中的会话和session是存放在内存中的,没有做本地持久化处理
2、基于tornadio2的服务器应用,如果要升级代码需要重启服务器进程,一旦进程重启session、会话就会丢失。用户连接就会断开
3、应用无法做到平滑升级
解决的方案:
1、利用redis快照应用的会话进程,将应用在服务器内存中session放到redis中保存。redis暂且可以不用做持久化存储。另外需要解决的问题,是应用的协程之间对于redis操作产生的资源争夺和锁的问题。
2、编写python装饰器,队项目主handler进行装饰,避免大面积修改代码带来的新bug。方便升级和部署
写好之后贡献社区 :)
以上,记录。坑,待添......
时间: 2024-10-09 15:34:57