实现身份验证后,蝙蝠侠担心在高峰时段,尤其是小丑企图释放阿卡姆疯人院所有罪犯时,可能会引发大量请求,导致服务器崩溃。为此,Robyn 向他介绍了常量请求和多核扩展功能,以增强应用程序的性能。
常量请求
Robyn 告诉蝙蝠侠,可以为每个路由预处理响应,这样即使在路由处理之前,响应就已准备好。这样做可以减少访问路由器的次数,从而提高响应速度。
py
@app.get("/", const=True)
async def h():
return "Hello, world"py
@app.get("/", const=True)
async def h():
return "Hello, world"多核扩展
Robyn 告诉蝙蝠侠,可以使用 --workers 参数将应用程序扩展到多个核心。这样,系统会创建多个应用实例并分配负载,从而提升性能。
py
python3 app.py --workers=N --process=Mpy
python3 app.py --workers=N --process=Mauthenticate 方法应在用户通过身份验证时返回 Identity 对象,否则返回 None。Identity 对象可以包含任意数据,并可以通过 request.identity 属性在路由方法中访问。
下一步
在提升了应用程序的性能后,蝙蝠侠非常高兴,并希望应用也可以接收从前端项目中发出请求。
然而,这是他却遇到了 CORS(跨源资源共享)问题!于是,他向 Robyn 咨询如何解决这个问题。Robyn 向他介绍了相关的功能: