Hi~你們好,第三期阿里開源技術彙總又和你們見面了!在這一期中咱們又給你們帶來了20個項目的介紹,保證能讓大家看得大呼過癮。準備好了嗎?如今就讓咱們跟隨雲棲社區一塊兒看看在這期的文章裏出現的哪些新鮮刺激的開源項目吧!
1.Weex
【項目簡介】
Weex是阿里近日在Qcon大會上宣佈開源的一款跨平臺移動開發工具。Weex不只可以完美兼顧性能與動態性,讓移動開發者經過簡捷的前端語法寫出Native級別的性能體驗,並且並支持iOS、安卓、YunOS及Web等多端部署。php
【架構圖】
2.Apns4j
【項目簡介】
apns4j 是 Apple Push Notification Service 的 Java 實現,目前1.0.1版已經發布。
【源碼託管地址】 https://github.com/teaey/apns4j
html
3.BugFree
【項目簡介】
BugFree 是一款借鑑微軟公司軟件研發理念、免費且開放源代碼、基於Web的精簡版Bug管理系統。BugFree基於PHP和MySQL開發,其服務器端在Linux和Windows平臺上均可以運行;客戶端也無需安裝任何軟件,經過IE,FireFox等瀏覽器就能夠自由使用。使用這款軟件,企業能夠保證質量、控制進度,並使產品可持續發展。前端
【架構圖】
4.TDDL
【項目簡介】
TDDL(Taobao Distributed Data Layer),是淘寶根據本身的業務特色開發了框架,主要解決了分庫分表對應用的透明化以及異構數據庫之間的數據複製,它是一個基於集中式配置的 jdbc datasource實現,具備主備,讀寫分離,動態數據庫配置等功能。它具備如下優勢:
1.數據庫主備和動態切換2.帶權重的讀寫分離3.單線程讀重試4.集中式數據源信息管理和動態變動5.剝離的穩定jboss數據源6.支持mysql和oracle數據庫7.基於jdbc規範,很容易擴展支持實現jdbc規範的數據源8.無server,client-jar形式存在,應用直連數據庫9.讀寫次數,併發度流程控制,動態變動10.可分析的日誌打印,日誌流控,動態變動。mysql
【架構圖】
5.PHPWind
【項目簡介】
PHPWind是阿里開發的一套論壇系統。它採用 php+mysql 數據庫,運行並可生成 html 頁面的全新且完善的強大系統。它具備網站統籌化、技術專業化、友好人性化三大特色,出色的訪問速度和卓越的負載能力更令它深受國內外朋友的喜好。linux
6.TFS
【項目簡介】
TFS(Taobao FileSystem)是一個高可擴展、高可用、高性能、面向互聯網服務的分佈式文件系統,其設計目標是支持海量的非結構化數據。目前,國內自主研發的文件系統可謂百裏挑一。淘寶在這一領域作了有效的探索和實踐,Taobao File System(TFS)做爲淘寶內部使用的分佈式文件系統,針對海量小文件的隨機讀寫訪問性能作了特殊優化,承載着淘寶主站全部圖片、商品描述等數據存儲。git
【架構圖】
7.Webx
【項目簡介】
Webx是創建在Java Servlet API基礎上的通用WEB框架。用Webx搭建的應用能夠運行在任何一個標準的WEB應用服務器上面:Tomcat、Jetty、Jboss、Weblogic。 Webx是基於經典MVC設計模式的WEB框架Spring,而且能夠被其它組件擴展。Webx不只可以用來開發高度可定製的Web應用,也可以用來幫助用戶開發高度可擴展的非WEB的應用。目前Webx在阿里巴巴集團內部被普遍使用。github
【架構圖】
8.FourInOne
【項目簡介】
FourInOne(中文名字「四不像」)是一個四合一分佈式計算框架。它提供了四合一的分佈式框架功能(即整合了Hadoop、Zookeeper、MQ、分佈式緩存的主要功能)和簡單易用的編程API,從而實現了對多臺計算機CPU、內存、硬盤的統一利用,最終獲取到強大計算能力去解決複雜問題。web
【架構圖】
9.Uploader
【項目簡介】
Uploader是一個很是強大的異步文件上傳組件,支持ajax、iframe、flash三套方案,實現瀏覽器的全兼容,調用很是簡單,內置多套主題支持 和經常使用插件,好比驗證、圖片預覽、進度條等,普遍應用於淘寶網,好比退款系統、愛逛街、二手、拍賣、個人淘寶、賣家中心、導購中心等。ajax
【架構圖】
10.DataX
【項目簡介】
DataX 是阿里巴巴集團內被普遍使用的離線數據同步工具/平臺,實現包括 MySQL、Oracle、HDFS、Hive、OceanBase、HBase、OTS、ODPS 等各類異構數據源之間高效的數據同步功能。目前DataX在淘寶內部天天約有5000道同步任務分佈在全天各個時段,平均天天同步數據量在2-3TB。正則表達式
【架構圖】
11.Httpsender
【項目簡介】
httpsender是一款輕量級的http壓力測試工具,由淘寶的測試工程師用Java語言開發完成。它能夠指定併發鏈接數發送指定數目的請求,還能夠自定義請求的header頭。請求的URL支持經過正則表達式指定範圍,同時也支持從文件隨機或順序讀取。它還具有驗證數據是否完整和錯亂等較高級的功能。默認應用環境爲Linux。
12.CobarClient
【項目簡介】
CobarClient是一個基於iBatis和Spring的輕量級分佈式數據訪問框架(DDAL)。它具備一些特色:主要特性:
①能夠支持垂直和水平數據切分數據庫集羣的訪問;
②支持雙機熱備的HA解決方案, 應用方能夠根據狀況選用數據庫特定的HA解決方案(好比Oracle的RAC),或者選用CobarClient提供的HA解決方案.
③小數據量的數據集計(Aggregation), 暫時只支持簡單的數據合併.
④數據庫本地事務的支持, 目前採用Best Efforts 1PC模式的事務管理.
⑤數據訪問操做相關SQL的記錄, 分析等.(能夠採用國際站現有Ark解決方案,但CobarClient提供擴展的切入接口)
【架構圖】
13.F2etest
【項目簡介】
F2etest是一個面向前端、測試、產品等崗位的多瀏覽器兼容性測試總體解決方案。經過在項目中採用開源的HTML5遠程解決方案Guacamole、Server版Windows和跨瀏覽器、跨服務器的hosts共享技術hostsShare,F2etest最終實現瞭如下的功能:
①硬件利用率提升10倍以上,下降了企業運營成本
②提供極佳的用戶體驗,於是提升了測試效率
③提供真實瀏覽器環境,還原真實測試場景
【架構圖】
14.AliRedis
【項目簡介】
AliRedis是阿里團隊針對Redis平常維護中出現的不足而在Redis原有基礎上作出的深度改進。具體而言,AliRedis採用多線程master + N*work 工做模式,而且拋棄save, bgsave, aof等三種原有的模式.採用redisDB lock模式,除此以外,它還優化了jemalloc, 採用大內存頁。
【架構圖】
15.Canal
【項目簡介】
Canal是純Java開發的數據異地同步工具。它可以提供的基於日誌增量訂閱和消費支持的業務有:
①數據庫鏡像
②數據庫實時備份
③多級索引 (賣家和買家各自分庫索引)
④search build
⑤業務cache刷新
⑥價格變化等重要業務消息
目前Canal主要支持了mysql。
【架構圖】
16.Taocode
【項目簡介】
taocode(淘蝌蚪)是淘寶網推出的開源平臺。它具備平臺化和社區化兩個特徵。
1).平臺化
a) 完善項目管理過程工具平臺
b) 提供更多代碼級工具
c) 提供更多文檔化工具
2).社區化
a). 提供更好的交流平臺
b). 增長更多的持續性生態化平臺功能
【架構圖】
17.JStorm
【項目簡介】
Storm 是一個相似Hadoop MapReduce的系統。若是用戶按照指定的接口實現一個任務,而後將這個任務遞交給JStorm系統,Jstorm將這個任務跑起來,而且按7 * 24小時運行起來,一旦中間一個worker 發生意外故障, 調度器當即分配一個新的worker替換這個失效的worker。所以,從應用的角度,JStorm 應用是一種遵照某種編程規範的分佈式應用。從系統角度, JStorm一套相似MapReduce的調度系統。 從數據的角度, 是一套基於流水線的消息處理機制。
【架構圖】
18.Athrun
【項目簡介】
Athrun以Mobile自動化爲基礎,以PC2Mobile爲切入點,是淘寶Mobile測試平常工做必備的平臺。目前Athrun支持:
①Android上的自動化測試,包括自動化測試框架,持續集成體系。覆蓋率工具和自動錄製回放工具,也在試用完善中。
②iOS上的自動化測試,包括注入式自動化框架AppFramework,和基於錄製的非注入式自動化框架Athrun_IOS,還有持續集成體系。目前兩個框架在淘寶測試內都有用戶羣,都還在不斷使用和演進過程當中。AppFramework將會支持socket通訊方式。
19.Cobar
【項目簡介】
Cobar是提供關係型數據庫(MySQL)分佈式服務的中間件,它可讓傳統的數據庫獲得良好的線性擴展,並看上去仍是一個數據庫,對應用保持透明。自Cobar實際投入運用以來,它接管了3000+個MySQL數據庫的schema,集羣日處理在線SQL請求50億次以上。
集羣日處理在線數據流量TB級別以上,而且到目前爲止,該產品在阿里巴巴穩定運行3年以上。
【架構圖】
20.TaoLinux
【項目簡介】
TaoLinux是淘寶團隊基於淘寶多年服務器優化積累, 內核優化經驗對Linux作出的改版。它默認安裝tengine等服務 沒有GUI界面 基於RHEL 6.2。