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 falcon
ujson在CPython下,可以提高序列化及字符的解析速度,这里我们也安装它
pip install ujson
Cython
尽管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 world
curl
命令使用麻烦,下面我们安装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 快速开始相关推荐
- Hive SQL 监控系统 - Hive Falcon
1.概述 在开发工作当中,提交 Hadoop 任务,任务的运行详情,这是我们所关心的,当业务并不复杂的时候,我们可以使用 Hadoop 提供的命令工具去管理 YARN 中的任务.在编写 Hive SQ ...
- 代码详解 | 用Pytorch训练快速神经网络的9个技巧
点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者丨William Falcon 来源丨稀牛Xiniu 编辑丨极市 ...
- FLAS: fast and high-throughput algorithm for PacBio long-read self-correction FLAS:快速、高通量的PacBio lon
FLAS: fast and high-throughput algorithm for PacBio long-read self-correction FLAS:快速.高通量的PacBio lon ...
- Apache Falcon数据集管理和数据处理平台
2019独角兽企业重金招聘Python工程师标准>>> jopen 4年前发布 | 67K 次阅读 分布式/云计算/大数据 Apache Falcon Apache Falcon 是 ...
- open-falcon_NASA在Falcon 9上带回了蠕虫-其背后的故事是什么?
open-falcon Yes, that's right. The classic NASA "worm" logo is back! An image of the reviv ...
- falcon框架_如何使用Falcon构建RESTful API
falcon框架 介绍 (Introduction) RESTful APIs are a major component of any well-architected stack, and Pyt ...
- [爬虫实战]利用python快速爬取NCBI中参考基因组assembly的相关信息
1.问题导向 最近在做某个课题的时候,按老师的要求需要从NCBI中批量下载不同物种的参考基因组,同时收集相应参考基因组的一些组装信息,基因组非常多,导致工作量巨大,一个一个手动收集的话,既费时又费力, ...
- android的快速开发框架集合
android的快速开发框架集合 出自:http://blog.csdn.net/shulianghan/article/details/18046021 1.Afinal (快速开发框架) 简介: ...
- 开源运维监控open-falcon的快速部署
在目前流行的三大开源运维监控工具Zabbix.Nagios.Open-Falcon当中,Open-Falcon属于后起之秀,由小米团队提供,可以从运营级别(基本配置即可),以及应用级别(二次开发,通过 ...
最新文章
- Swift监听网络状态
- 写一个迷你版Smarty模板引擎,对认识模板引擎原理非常好(附代码)
- [剑指offer][JAVA]面试题第[31]题[栈的压入、弹出序列][栈]
- 大学c语言程序设计大赛,关于举办宁夏大学第二届C语言程序设计大赛的通知
- 10 CO配置-控制-成本中心会计-定义成本中心类别
- nginx ci index.php,CI在Nginx服务器上rewrite去掉index.php例子
- 如何将XML文件导入Excel中
- 【报告分享】5G时代新型基础设施建设白皮书.pdf
- xcode与androidstudio 设置自定义主题
- IPSEC 安全连接
- 象棋名手手机版2019最新版_象棋名手超强版下载
- java考试系统倒计时的实现_(Java程序设计)第11章设计考试系统中的倒计时.ppt
- axio get传参。
- 5G核心网中与用户数据相关的NF功能体UDM、AUSF、PCF、UDR
- 冯.诺依曼结构 总线 接口 南桥 北桥
- 微信涨粉加人100种方法完整版
- NMODBUS4.0源码下载地址
- 【毕业设计】基于单片机的便携式空气质量检测仪 - 物联网 嵌入式
- windows server 2016域控屏保策略设置
- 1 分钟 Serverless 搭建你的首个个人网站(完成就送猫超卡)
热门文章
- 【线性代数本质】1:向量究竟是什么
- 栈溢出笔记1.1 函数调用过程
- C++11 并发指南四(future 详解二 std::packaged_task 介绍)
- USACO-Section1.3 Name That Number (遍历与字符串比较)
- iOS项目功能模块封装SDK使用总结
- 二、python基础
- 【转】ASP.NET MVC框架下使用MVVM模式-KnockOutJS+JQ模板例子
- Android——4.2.2 文件系统文件夹分析
- Python中的bytes,str,int等类型转换
- xpe低配置系统解决“写缓存失败”问题