昨天在sourceforge.net上申請了一個開源項目,Xcesium-Viwow。
Xcesium是徐昊創建的一個開源項目的小組名,Viwow是項目名。
這個項目是為了編寫一個JAVA下的高效率高可配置性的服務器基礎框架而創建的。類似的項目有Cindy和Netty2,以及早我一天(天!就一天)在SourceForge上創建的RaindDrop。Netty2已經被作者給廢棄掉了,不過規模已經頗為可觀了。Cindy是國內一位大牛寫的,代碼質量不錯的,不過使用的模型和最終的目標和我的不一樣,他瞄準的是簡單易用,我瞄準的是高效通用。
具體使用了NIO做輸入輸出。然后用SEDA的架構,用Stage來組織整個服務器的網絡處理。對于Stage的管理,我的目標是通過OSGI和JMX能夠動態插拔。而Stage的具體編寫,只是實現一個基本的異步Socket,對NIO進行一些封裝。具體的上層應用可以寫一些簡單的sample,不過不作大型的應用,因為只是寫一個基礎框架。
NIO的主要好處就是能夠多路復用,不用一個線程對應一個客戶端。
SEDA的主要好處是并發模式靈活,當某個Stage特別忙碌的時候,可以把它的線程池擴大。而且SEDA把你的應用明確的分解為STAGE了,特別適合網絡應用的特性。
OSGI的主要好處是提供了JAVA的類加載層次,給JAVA提供了類似.NET的Assembly層面的功能。是一個輕量級的微內核容器。如果使用一些增強的bundle還能提供依賴配置管理。
JMX是標準的管理API,最終的動態管理應該需要依賴這個來實現。
整體的目標有三個:
1、SEDA抽象模型的實現
2、基于SEDA模型的異步SOCKET包裝庫
3、STAGE動態配置管理框架
Xcesium是徐昊創建的一個開源項目的小組名,Viwow是項目名。
這個項目是為了編寫一個JAVA下的高效率高可配置性的服務器基礎框架而創建的。類似的項目有Cindy和Netty2,以及早我一天(天!就一天)在SourceForge上創建的RaindDrop。Netty2已經被作者給廢棄掉了,不過規模已經頗為可觀了。Cindy是國內一位大牛寫的,代碼質量不錯的,不過使用的模型和最終的目標和我的不一樣,他瞄準的是簡單易用,我瞄準的是高效通用。
具體使用了NIO做輸入輸出。然后用SEDA的架構,用Stage來組織整個服務器的網絡處理。對于Stage的管理,我的目標是通過OSGI和JMX能夠動態插拔。而Stage的具體編寫,只是實現一個基本的異步Socket,對NIO進行一些封裝。具體的上層應用可以寫一些簡單的sample,不過不作大型的應用,因為只是寫一個基礎框架。
NIO的主要好處就是能夠多路復用,不用一個線程對應一個客戶端。
SEDA的主要好處是并發模式靈活,當某個Stage特別忙碌的時候,可以把它的線程池擴大。而且SEDA把你的應用明確的分解為STAGE了,特別適合網絡應用的特性。
OSGI的主要好處是提供了JAVA的類加載層次,給JAVA提供了類似.NET的Assembly層面的功能。是一個輕量級的微內核容器。如果使用一些增強的bundle還能提供依賴配置管理。
JMX是標準的管理API,最終的動態管理應該需要依賴這個來實現。
整體的目標有三個:
1、SEDA抽象模型的實現
2、基于SEDA模型的異步SOCKET包裝庫
3、STAGE動態配置管理框架
浙公網安備 33010602011771號