美文网首页
Sanic:Sanic 框架简介

Sanic:Sanic 框架简介

作者: dex0423 | 来源:发表于2020-11-05 16:55 被阅读0次

1. Sanic 是什么

Sanic 是一个基于 Python 3.5+ 的 web 框架,依托于 uvloop、asyncio 等事件循环和异步并发模块,旨在提供支持异步高并发请求的 web 服务;

之所以需要 Python 3.5+ 版本,是出于这些 Python 版本对于 uvloop、asyncio 的支持诸方面的考虑。

Sanic 的使用和 Flask 非常相似,有 Flask 基础的童鞋可以很快掌握这个框架。
Sanic 最大的特色是支持 异步 方式处理并发请求,在开发中可以使用 asyncawait 关键字实现非阻塞响应请求。

2. Sanic 用来作什么

虽然 Sanic 处理并发的速度很快,但受制于流行度、生态圈等方面的原因,一般的消费级应用很少会用 Sanic 作为网站后端框架。

  • Sanic 比较常用的场景包括:
    -- 搭建轻量级 Restful API 微服务,服务于企业或者团队内部;
    -- 搭建 cookie 池、proxy 池 为大规模爬虫提供 cookie 和 proxy;
    -- 在一些企业级应用中,为一些特殊的、功能相对较少的应用提供后端服务;

3. Sanic 环境配置要求

Sanic 要求 Python 版本为 3.5 及以上,而在实际应用中最好安装 Python 3.6 或以上版本,因为 3.6 对于 asyncio 的支持更能满足要求。
Sanic 支持 windows、Linux,需要说明的是 windows 不支持 uvloop,如果 pip 安装 sanic 的时候提示 uvloop does not support Windows at the moment,则可以使用下面的代码安装:

SANIC_NO_UVLOOP=true SANIC_NO_UJSON=true pip install sanic

4. 搭建一个最简单的 Sanic 框架

# file name: sanic_test.py
from sanic import Sanic
from sanic.response import json

app = Sanic()

@app.route('/')
async def test(request):
    msg = {'msg': 'Hello Sanic'}
    return json(msg, ensure_ascii=False)

if __name__ == '__main__':
    app.run(host='127.0.0.1', port=8888)

创建好文件以后,python 执行该文件,启动 Sanic 服务。

python sanic_test.py

访问 http://127.0.0.1:8888,得到返回结果 {'msg': 'Hello Sanic'}

相关文章

网友评论

      本文标题:Sanic:Sanic 框架简介

      本文链接:https://www.haomeiwen.com/subject/whlavktx.html