gunicorn模式和tonordo模式

gunicorn模式

nginx代理: 只是把request分发下去, gevent根据gunicorn的进程负载情况,分给负载少的。
每一个request进来都会生成一个线程来处理。
这样就会出现一个瓶颈。当request的数量级到一个数量级时。也就是说gunicore生成的线程数,达到系统的峰值时,会出现系统资源不够用。

tonordo模式

异步模式是另一个思想,当request进来时,tonordo不处理,只是接受,接着交给异步任务处理, 处理完了response,所以tonordo只处理接收和返回,这就省去生成和销毁大量的线程等等一些消耗资源的时间,所以处理会更快。同样也有问题,比如session等问题,就需要自己去写,增加了代码的复杂程度。

IO瓶颈: 无论什么模式,都会有IO瓶颈,当数据库的数据达到亿级,访问数据库就会慢,或者访问缓存等等。

你可能感兴趣的:(gunicorn模式和tonordo模式)