淘寶開源java云計算框架Fourinone2.0介紹
Fourinone2.0提供了一個4合1分布式框架和簡單易用的編程api,實現對多臺計算機cpu,內存,硬盤的統一利用,從而獲取到強大計算能力去解決復雜問題。Fourinone框架提供了一系列并行計算模式(農民工/包工頭/職介紹/手工倉庫)用于利用多機多核cpu的計算能力;提供完整的分布式緩存和小型緩存用于利用多機內存能力;提供像操作本地文件一樣操作遠程文件(訪問,并行讀寫,拆分,排它,復制,解析,事務等)用于利用多機硬盤存儲能力;由于多計算機物理上獨立,Fourinone框架也提供完整的分布式協同和鎖以及簡化MQ功能,用于實現多機的協作和通訊。Fourinone采用java開發,2.0版本整體大小百k,就一個jar和一個配置文件,仍然沒有任何依賴。
一、提供了對分布式文件的便利操作, 將集群中所有機器的硬盤資源利用起來,通過統一的fttp文件路徑訪問,如:
windows:fttp://v020138.sqa.cm4/d:/data/a.log
linux:fttp://v020138.sqa.cm4/home/user/a.log
比如以這樣的方式讀取遠程文件:
FttpAdapter fa = FttpAdapter("fttp://v020138.sqa.cm4/home/log/a.log");
fa.getFttpReader().readAll();
提供對集群文件的操作支持,包括:
1、元數據訪問,添加刪除,按塊拆分, 高性能并行讀寫,排他讀寫(按文件部分內容鎖定),隨機讀寫,集群復制等
2、對集群文件的解析支持(包括按行,按分割符,按最后標識讀取)
3、對整形數據的高性能讀寫支持(ArrayInt比ArrayList存的更多更快)
4、兩階段提交和事務補償處理
5、自帶一個集群文件瀏覽器,可以查看集群所有硬盤上的文件(不同于hadoop的namenode,沒有單點問題和容量限制)
總的來說, 將集群看做一個操作系統,像操作本地文件一樣操作遠程文件。
但是fourinone并不提供一個分布式存儲系統,比如文件數據的導入導出、拆分存儲、負載均衡,備份容災等存儲功能,不過開發人員可以利用這些api去設計和實現這些功能,用來滿足自己的特定需求。
更多介紹請看使用指南:
一、如何搭建配置FttpAdapter環境
二、如何訪問集群文件根目錄
三、如何訪問和操作遠程文件
四、如何進行集群內文件復制和并行復制
五、如何讀寫遠程文件
六、如何解析遠程文件
七、如何并行讀寫遠程文件
八、如何批量并行讀寫遠程文件和事務補償處理
二、自動化class和jar包部署
class和jar包只需放在工頭機器上, 各工人機器會自動獲取并執行,兼容操作系統,不需要進行安全密鑰復雜配置
三、網絡波動狀況下的策略處理,設置搶救期,搶救期內網絡穩定下來不判定結點死亡
軟件遵循apatch開源軟件協議,自由分享