标签:eurasia3 stackless python 开源 greenlet 分布式
最近研究Python下的可用于分布式的框架,常用的有twisted、asyncio/tulip、tornado等,又发现了个Stackless,这个的设计思路和模式和之前的几个有所不同,虽然他们实现的功能和支持的协议基本差不多,在技术实现的底层有所差异的。
Stackless名称上就是无栈的,而tornado宣称就是全栈式的,和其他另外两种类似,用的都是协程异步模式,而Stackless主要是基于微线程的,可控制性和定制性更强,底层开发时候可以提供更多的灵活性和可选择型。
Stackless官方网站:
从python2.7到3.4都支持。
著名的greenlet是其副产品,
http://www.oschina.net/p/greenlet
在该页面的介绍:
greenlet 包是 Stackless 的副产品,其将微线程称为 “tasklet” 。tasklet运行在伪并发中,使用channel进行同步数据交换。
一个”greenlet”,是一个更加原始的微线程的概念,但是没有调度,或者叫做协程。这在你需要控制你的代码时很有用。你可以自己构造微线程的 调度器;也可以使用”greenlet”实现高级的控制流。例如可以重新创建构造器;不同于Python的构造器,我们的构造器可以嵌套的调用函数,而被 嵌套的函数也可以 yield 一个值。。
Greenlet是作为一个C扩展模块给未修改的解释器的。
用Stackless实现的支持百万级长连接在线用户的HTTP服务器,
http://www.oschina.net/p/eurasia3
该页面的介绍:
Eurasia3 是一种能够支持百万级同时在线长连接用户数量的 HTTP 服务器, 或者每秒处理上万次 CGI 请求的常规应用服务器。
Eurasia3 同时也泛指以 Eurasia3 应用服务器为核心的一系列组件形成的应用程序框架, 主要是一个嵌入式对象数据库 MissileDB, 和一个 JavaScript 框架 NJF。
Eurasia3 基于 Stackless Python。
产品信息:
运行平台: 支持 Stackless Python 2.5 的系统, 包括各种嵌入式平台
开发语言: Stackless Python
开源协议: BSD License
本文出自 “LifeStage” 博客,请务必保留此出处http://soaop.blog.51cto.com/6164600/1657445
标签:eurasia3 stackless python 开源 greenlet 分布式
原文地址:http://soaop.blog.51cto.com/6164600/1657445