Mina项目的起源

In June 2004, I released a network application framework, ‘Netty2’. It was the first network application framework that provides event-based architecture in Java community. It attracted network application programmers because of its simplicity and ease of use. As the Netty2 community matured, its problems also arose. Netty2 didn’t work fine with text protocols and had a critical architectural flaw that prevents users from using it for applications with many concurrent clients.

2004年6月,我发布了一款名为“Netty2”的网络编程框架。在当时的Java社区,Netty2是第一款基于事件驱动架构的网络编程框架。由于简单易用,它吸引了很多网络程序员的注意。随着Netty2社区的逐渐壮大,其问题也逐渐显露出来。首先,Netty2对文本协议的支持不太友好,其次由于关键架构的缺陷,Netty2无法适用于大并发的应用程序。

Quite a large amount of information was collected about what users like about Netty2 and what improvements they want from it for 6 months. It was clear they like its ease of use and unit-testability. They wanted support for UDP/IP and text protocols. I had to invent a cleaner, more flexible, and more extensible API so that it is easy to learn yet full-featured.

在过去的6个月里,通过收集大量信息,我明白了用户喜欢Netty2的原因以及Netty2需要改进的地方。很明显,用户喜欢它的简单和单元测试能力。而最需要改进的地方则是尽快支持UDP/IP协议和文本协议。看样子我需要创建更加清晰、自由和更加可扩展的API,这样才能易于学习且功能完善。

Meanwhile around 2003 at Apache Directory, Alex Karasulu was wrestling with a network application framework he developed based on the [Matt Welsh’s SEDA (Staged Event Driven Architecture)|http://www.eecs.harvard.edu/~mdw/proj/seda/]. After several iterations Alex realized it was very difficult to manage, and started to research other network application frameworks looking for a replacement. He wanted something for Java that would scale like SEDA yet was simple to use like [ACE|http://www.cs.wustl.edu/~schmidt/ACE.html]. Alex encountered Netty2 at [gleamynode.net|http://gleamynode.net/] and contacted me asking if I wanted to work with him on a new network application framework.

与此同时,大概2003年,Apache Directory项目组的 Alex Karasulu 正在折腾他自己开发的一款网络编程框架,该框架基于 [Matt Welsh’s SEDA (Staged Event Driven Architecture)|http://www.eecs.harvard.edu/~mdw/proj/seda/]。经过数次迭代之后,Alex意识到这货实在是玩不转,于是他开始研究其他的网络编程框架以替代之。该框架应该像SEDA一样可扩展同时像[ACE|http://www.cs.wustl.edu/~schmidt/ACE.html]Alex在[gleamynode.net|http://gleamynode.net/]一样易于使用。最终,Alex找到了Netty2,同时联系我是否愿意和他一起开发一款全新的网络编程框架。

In September 2004, I formally joined the Apache Directory team. Alex and I decided to mix concepts between the two architectures to create a new network application framework. We exchanged various ideas to extract the strengths of both legacy frameworks to ultimately come up with what is today’s ‘MINA’.

在2004年9月,我正式加入了Apache Directory 项目组。Alex和我决定糅合两种架构的优点以创建一款全新的网络编程框架。我们交流了很多不同的主意,然后将两个旧框架成功合体,这就是今天的“MINA”。

Since then MINA became the primary network application framework used by the Apache Directory project for the various implemented by Apache Directory Server (ApacheDS). Several complex protocols in ApacheDS are implemented with MINA: LDAP, Kerberos, DNS and NTP.

从那时起,MINA成为了Apache Directory project 最主要的网络编程框架。在ApacheDS中很多复杂的协议均由MINA实现,比如LDAP、Kerberos、DNS、NTP。

本文来源:http://mina.apache.org/mina-project/road-map.html

后来Trustin Lee加入了redhat,另起炉灶又开发了Netty,Netty目前的开发非常活跃:http://netty.io/index.html

Trustin Lee的个人网站:http://gleamynode.net/
Trustin Lee的github:https://github.com/trustin
Trustin Lee的Linkin:http://www.linkedin.com/in/trustin

此条目发表在java/j2ee分类目录,贴了, 标签。将固定链接加入收藏夹。

Mina项目的起源》有1条回应

  1. 草陌说:

    貌似博主很久没更新了

发表回复

您的电子邮箱地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据