LuyA Web 框架简介
LuyA 是一款由python写成的Web开发框架。Api风格类Flask,如果您有Flask开发的经验,LuyA能让你很快上手。
LuyA基于uvloop,一款极速、无痛替换asyncio的产品。在官方给出的benchmark中,uvloop的并发量远超目前大部分网络框架。因此,得益于uvloop的极速,LuyA的框架的速度也异常的快速。
协程
现代互联网工业中,大部分的应用场景都是读多写少,因此并发的瓶颈基本都在网络读取上。当人们使用多线程编程的时候,是可以解决这种问题的。但是可惜的是,多线程下,用户需要自己设计锁以及线程线程之间进行上下文切换,这会导致给程序带来了极大的损耗,因此多线程模型并发到一定程度的时候,就无法继续并发下去了。
协程是一种极为细小的线程,他的概念是相对进程和线程来说的。多线程运行时,是以抢占式进行CPU资源争夺的,而协程是协作式进行的。对于协程而言,主程序和子程序的上下文是无需切换的,因为协程本身就是单进程,单线程的,因此压根就没有上下文切换这回事,这就使得协程非常的快。
LuyA就是以协程实现的。协程实现的框架还有另外一个好处就是,可以使用python最新的async/await来进行编程,使得我们脱离异步回调的痛苦。