Falcon 快速开始
介紹
當您的目標是構建快速、可擴展的REST風格API微服務時, Falcon 是個不錯的選擇。
這是一個可靠的、高性能的Python Web框架,用于構建大規模應用后端和微服務。Falcon鼓勵REST架構風格的 URI到資源的映射,以花費盡可能少的精力同時又保持高效。
Falcon重點關注四個方面:速度、可靠性、靈活性和可調試性。它通過"響應者(responder)" (諸如 on_get()、 on_put() 等)來實現HTTP。這些響應者接收直接的請求,以及響應對象。
官網地址:https://falconframework.org
安裝
Falcon 同時支持CPython和PyPy,后者具有更快的速度。考慮到兼容性,這里默認采用CPython3.7作為解釋器。
pip install falconujson在CPython下,可以提高序列化及字符的解析速度,這里我們也安裝它
pip install ujsonCython
盡管falcon已經足夠快,但是如果想在生產環境中獲得額外的速度提升,可以使用Cython擴展來編譯Falcon。下面的命令將安裝Cython,然后調用Falcon’s setup.py,而后者會檢測Cython并使用系統默認的C編譯器編輯Falcon.
pip install cython pip install -v --no-binary :all: falcon注意,在OS X系統上,編譯Cython需要安裝Xcode命令行工具。
WSGI 服務器
這里我們選擇使用Gunicorn:
pip install gunicorn快速開始
# things.pyimport falconclass ThingsResource(object):def on_get(self, req, resp):resp.status = falcon.HTTP_200resp.body = 'hello world\n'# falcon.API()的實例就是可調用的WSGI應用 app = falcon.API() things = ThingsResource()app.add_route('/things', things)使用gunicorn運行上述示例:
gunicorn things:app# 默認運行在本機的8000端口 [2019-01-08 22:32:25 +0800] [19905] [INFO] Starting gunicorn 19.9.0 [2019-01-08 22:32:25 +0800] [19905] [INFO] Listening at: http://127.0.0.1:8000 (19905)在另一個終端中請求:
curl localhost:8000/things# 響應如下 hello worldcurl命令使用麻煩,下面我們安裝HTTPie并使用它:
pip install --upgrade httpie http localhost:8000/things# 響應如下 HTTP/1.1 200 OK Connection: close Date: Tue, 08 Jan 2019 22:36:28 GMT Server: gunicorn/19.9.0 content-length: 12 content-type: application/json; charset=UTF-8hello world總結
以上是生活随笔為你收集整理的Falcon 快速开始的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 积累命令、用户、正则表达式
- 下一篇: 数据产品-数据指标标签常用sql函数