介绍

当您的目标是构建快速、可扩展的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 快速开始相关推荐

  1. Hive SQL 监控系统 - Hive Falcon

    1.概述 在开发工作当中,提交 Hadoop 任务,任务的运行详情,这是我们所关心的,当业务并不复杂的时候,我们可以使用 Hadoop 提供的命令工具去管理 YARN 中的任务.在编写 Hive SQ ...

  2. 代码详解 | 用Pytorch训练快速神经网络的9个技巧

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者丨William Falcon 来源丨稀牛Xiniu 编辑丨极市 ...

  3. 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 ...

  4. Apache Falcon数据集管理和数据处理平台

    2019独角兽企业重金招聘Python工程师标准>>> jopen 4年前发布 | 67K 次阅读 分布式/云计算/大数据 Apache Falcon Apache Falcon 是 ...

  5. open-falcon_NASA在Falcon 9上带回了蠕虫-其背后的故事是什么?

    open-falcon Yes, that's right. The classic NASA "worm" logo is back! An image of the reviv ...

  6. falcon框架_如何使用Falcon构建RESTful API

    falcon框架 介绍 (Introduction) RESTful APIs are a major component of any well-architected stack, and Pyt ...

  7. [爬虫实战]利用python快速爬取NCBI中参考基因组assembly的相关信息

    1.问题导向 最近在做某个课题的时候,按老师的要求需要从NCBI中批量下载不同物种的参考基因组,同时收集相应参考基因组的一些组装信息,基因组非常多,导致工作量巨大,一个一个手动收集的话,既费时又费力, ...

  8. android的快速开发框架集合

    android的快速开发框架集合 出自:http://blog.csdn.net/shulianghan/article/details/18046021 1.Afinal  (快速开发框架) 简介: ...

  9. 开源运维监控open-falcon的快速部署

    在目前流行的三大开源运维监控工具Zabbix.Nagios.Open-Falcon当中,Open-Falcon属于后起之秀,由小米团队提供,可以从运营级别(基本配置即可),以及应用级别(二次开发,通过 ...

最新文章

  1. Swift监听网络状态
  2. 写一个迷你版Smarty模板引擎,对认识模板引擎原理非常好(附代码)
  3. [剑指offer][JAVA]面试题第[31]题[栈的压入、弹出序列][栈]
  4. 大学c语言程序设计大赛,关于举办宁夏大学第二届C语言程序设计大赛的通知
  5. 10 CO配置-控制-成本中心会计-定义成本中心类别
  6. nginx ci index.php,CI在Nginx服务器上rewrite去掉index.php例子
  7. 如何将XML文件导入Excel中
  8. 【报告分享】5G时代新型基础设施建设白皮书.pdf
  9. xcode与androidstudio 设置自定义主题
  10. IPSEC 安全连接
  11. 象棋名手手机版2019最新版_象棋名手超强版下载
  12. java考试系统倒计时的实现_(Java程序设计)第11章设计考试系统中的倒计时.ppt
  13. axio get传参。
  14. 5G核心网中与用户数据相关的NF功能体UDM、AUSF、PCF、UDR
  15. 冯.诺依曼结构 总线 接口 南桥 北桥
  16. 微信涨粉加人100种方法完整版
  17. NMODBUS4.0源码下载地址
  18. 【毕业设计】基于单片机的便携式空气质量检测仪 - 物联网 嵌入式
  19. windows server 2016域控屏保策略设置
  20. 1 分钟 Serverless 搭建你的首个个人网站(完成就送猫超卡)

热门文章

  1. 【线性代数本质】1:向量究竟是什么
  2. 栈溢出笔记1.1 函数调用过程
  3. C++11 并发指南四(future 详解二 std::packaged_task 介绍)
  4. USACO-Section1.3 Name That Number (遍历与字符串比较)
  5. iOS项目功能模块封装SDK使用总结
  6. 二、python基础
  7. 【转】ASP.NET MVC框架下使用MVVM模式-KnockOutJS+JQ模板例子
  8. Android——4.2.2 文件系统文件夹分析
  9. Python中的bytes,str,int等类型转换
  10. xpe低配置系统解决“写缓存失败”问题