项目名称: Eurasia3

发起时间: 2004年


项目介绍:

Eurasia3 是一种能够支持百万级同时在线长连接用户数量的 HTTP 服务器, 或者每秒处理上万次 CGI 请求的常规应用服务器。

Eurasia3 同时也泛指以 Eurasia3 应用服务器为核心的一系列组件形成的应用程序框架, 主要是一个嵌入式对象数据库 MissileDB, 和一个 JavaScript 框架 NJF。

Eurasia3 基于 Stackless Python。


产品信息:

运行平台: 支持 Stackless Python 2.5 的系统, 包括各种嵌入式平台

开发语言: Stackless Python

开源协议: BSD License


项目成员:

沈崴, 高级架构师, 上海,项目发起人。

赖勇浩, 某公司技术负责人,广州。

王健, 某公司技术负责人, 经理, 广州。

魏中华, 项目经理, 广州。

庄上林, 项目经理, 广州。


是什么促使你们发起/开始这个项目?

Eurasia 最初源于某个大型人工智能项目, 是为了解决大量逻辑数据的存储和管理的问题而形成的一个 Web 管理系统, 并发展成一套 AJAX 框架。

而 Eurasia3 项目则是源于一系列关于 Web Game 的尝试。我们试图在浏览器上在不使用任何插件和 Flash 的情况下, 就能实现即时类游戏的效果并维持几十乃至上百万人同时在线, 这最终导致了 Eurasia3 框架的产生。


该项目面向哪些使用群体?

黑客, Web Game 和 Web IM 从业人员, 对前沿技术感兴趣的人以及 Comet 爱好者。


举个例子说明下用户使用您的软件能做什么?

基于浏览器的 MMORPG, 玩家在地图上漫游时所看到的一切都是即时的。

基于浏览器的 Web IM, 服务器能负载传统 IM 服务器那样多的在线人数, 消息发送是即时的, 浏览器用户不需要插件就可以互传文件。

Comet 应用, 服务器程序可以在任何时候使用原生 Python 代码远程调用客户浏览器上的 JavaScript 函数。

在一两百块钱 200-300 MHz 主频的嵌入式系统 (诸如路由器, Stackless Python 官方发行版中已经带有我们贡献的补丁可以使 Stackless Python 运行在这类系统上) 上运行以 Eurasia3 为基础的网站可以接近或达到和常规服务器一样的性能。


您认为有多少人使用这个软件/项目/服务?

至少有四家以上的公司正在使用基于 Eurasia 的软件。


有什么迹象表明您的项目很成功?

尽管 Eurasia3 项目主要是面向黑客的, 并且我们相当低调 ──── 你知道我们主要还是以自己使用为主, 也回馈一下社区, 这并不会带来实际的利益。但是还是吸引了相当多的关注。

尽管 Eurasia3 目前仍然在 alpha4 阶段, 但是从 alpha2 开始我们就已经许多项目在实际使用 Eurasia3 了, 这些产品还是颇令我们满意的。


您觉得最大的惊喜是什么

尽管 Python 的框架已经很多, 我们也不期望 Eurasia3 在将来某一天像 Django 那样流行, 但是对 Eurasia3 感兴趣的人还是相当多, 有些人甚至表示在将来 Eurasia3 正式发布时用它来替代 Django (甚至 Nginx), 这比较意外。


您在该项目中遇到的最大挑战是什么?

最大的挑战是时刻保持领先。尽管目前 Eurasia3 是业内比较尖端的技术, 但是我们知道迟早会有超越 Eurasia3 的技术出现, 在此之前我们会努力保持领先。


您在该项目中认为获得成功的要素有哪些?

黑客的关注和参与。

持续地在正式项目中进行检验。

保证劣质的代码和编程思想不进入项目, 保证代码不膨胀不失控。


您对该项目有哪些期望?

一个使用 Eurasia3 编写的 Web Game, 事实上我们正在着手这件事情, 这在明年或许就会实现。然后就是大家在启动一个很酷的项目或者一个奇怪的想法时会自然而然地想到 Eurasia3。或许这些都不会真的出现, 但对我们也没有损失。


如果您能对项目进行修改,您会改善哪些地方?

文档, 当然了。从 alpha2 开始接口一直在缓慢变化, 到下一个冻结特性的 alpha5 版本或许会有更剧烈的变动, 而文档一直是滞后的。这也导致了许多用户的不满, 当然也包括我自己在内, 因为连我们自己都有许多产品都是基于老版本的。


你们如何来协调项目?

SVN、Gtalk


你们把所有精力都投入在这个软件上,还是有其他的什么工作?

我们大部分人都有自己的公司, 并且正带着自己的团队在做一些看上去很有前途的东西。


那你们一般花多长时间在这个项目上?

每周20小时, 10 小时, 或者 0小时。你知道在没有灵感时与其放一些垃圾代码进去, 还不如不写,



你们用的开发环境是什么

操作系统: Linux (主要是 Ubuntu)

编辑器: vim, gedit


项目里程碑

1999 年 NJF 框架开始设计, 这是 Eurasia 最早的组成部分。

2004 年 Eurasia 项目开始。

2006 年 9 月 Eurasia 2.0.2 版以 BSD License 开源, 年底 Eurasia3 项目开始。

2007 年 12 月 Eurasia 3.0.0 alpha 发布。

2008 年 Eurasia 3.0.0 alpha4 发布。


其他人如何给你们提供建议?

Eurasia3 用户组http://groups.google.com/group/eurasia-users