今天咱們的阿里巴巴開源技術彙總更新到了第六期,也算是這個系列的最後一期了。回顧這一百多個開源項目,它們凝聚了許多阿里人無數的心血和汗水,但咱們相信阿里不會止步,隨着阿里對於開源這個理念越發執着,從此必定會有更加優秀的開源項目源源不斷地發佈,讓廣大攻城獅和程序猿們收益。好啦!如今就讓咱們一塊兒跟隨雲棲社區,看看在這一期裏又有哪些亮點吧!
1.Aliyun OTS
【項目簡介】
Aliyun OTS是基於 Node.js 的 Aliyun OTS(Open Table Service) SDK。它具有如下功能:
①提供表、視圖、表組的建立、刪除等基本功能
②支持單條數據的插入、查詢、修改、刪除
③支持批量數據的插入、查詢、修改、刪除
④支持事務性操做,保證事務內操做集合的原子性php
而且Aliyun OTS能夠應用於如下場景:
①存儲應用產生的海量數據,如電商交易信息、系統詳細日誌、科研原始記錄等,單表數據量能達到百TB級別,支持分區存儲
②低延遲的實時數據查詢,如實時交易處理、歷史數據展現等
③高併發數據訪問,如擁有千萬級甚至更多用戶的網站交互信息、大量數據採集源的物聯網應用等css
【架構圖】
2.Orzdba
【項目簡介】
orzdba是阿里開發的一款MySQL測試工具。它的主要功能是將MySQL性能元數據進行計算,統計MySQL/INNODB層面的各類指標(QPS/TPS/thread/buffer/log等)和性能閥值展示。 將Linux和MySQL性能指標結合在一塊兒,更方便的對主機和MySQL壓力狀況進行展現,可以讓管理人員方便快捷地看出目前壓力的瓶頸點。html
3.LuaView
【項目簡介】
LuaView 是一種運行在一個 ViewController/Activity 中,能夠靈活加載Lua 腳本,並可以按照 Native 的方式運行的一種面向業務的開發技術方案。能夠快速開發電商應用中既要求體驗又要求靈活性的頁面功能,例如首頁,類目首頁,垂直頻道,大促活動會場等。html5
【架構圖】
4.OceanBase_client
【項目簡介】
OceanBase客戶端主要用於開發人員編程時鏈接Oceanbase數據庫。雖然Oceanbase內置了對SQL的支持,用戶能夠經過libmysql,JDBC等方式直接訪問Oceanbase,但因爲OceanBase是 一個分佈式數據庫,能夠由多個節點(MergeServer)同時提供SQL服務。而MySQL客戶端等都是針對單機系統,在鏈接OceanBase時, 客戶端會綁定其中一臺MergeServer進行SQL操做,而不能有效利用其餘MergeServer資源。爲了實現了多集羣間流量分配和多MergeServer間的負載均衡,並給應用開發人員提供一個簡單接入方案,阿里團隊在libmysql,JDBC的基礎上封裝一個OceanBase客戶端。
node
5.Min-velocity
【項目簡介】
min-velocity 是一個專爲代碼生成而定製的簡化 velocity 模板引擎。它的目標是以 velocity 1.7 爲基礎, 裁剪出適合用做代碼生成的模板引擎。目前它在原有的基礎上去除了
event機制、macro、stop、evaluate、define、break等等。mysql
6.ADFS
【項目簡介】
ADFS(Ali Distributed File System)是基於hadoop開源分佈式系統HDFS的一種優化 實現,可以將HDFS中單點master namenode節點中的內存數據結構利用高速存儲介質同步到磁盤中,同時可以提供很高的吞吐和性能 。這樣作可以同時解決namenode內存瓶頸問題,meta信息持久化問題和單點故障問題,以及啓動時間過長等困擾用戶的地方。ios
7.Cube
【項目簡介】
Cube 是一套跨終端、響應式、低設計耦合的CSS解決方案。包含全新基礎重置、佈局、按鈕、工具類、字體圖標等相對獨立的模塊。此外還提供專爲中文排版優化的type.css,能夠快速美化文章的排版。nginx
【架構圖】
8.Canvax
【項目簡介】
Canvax是一款小型輕便的 canvas 圖形框架,它採用 Flash AS3 相同的模式來對繪製元素進行抽象,採用OO的模式方便的管理繪製在Canvas上面的每一個元素和進行事件綁定和檢測觸發,解決Canvas開發面對 無狀態的Canvas畫布無從下手的尷尬;獨樹一幟的心跳包主動渲染機制(再也不須要定時器輪詢)提高渲染性能;在IE9-中使用FlashCanvas解 決Canvas的兼容問題。git
9.websockify-nginx-module
【項目簡介】
websockify-nginx-module 使 Nginx 支持將 TCP 協議轉化爲 websocket 協議,使js + html5 配合 websockify 理論上能夠完成 任意tcp 客戶的 web 化。目前 websockify 主要用於 noVNC 項目 普遍用於 web 版本的 vnc 的客戶端。github
10.Ossfs
【項目簡介】
ossfs 是用Perl語言寫的基於 aliyun OSS 的 fuse 客戶端。它可以讓用戶在Linux/Mac OS X 系統中把Aliyun OSS bucket 掛載到本地文件 系統中,使用戶可以便捷地經過本地文件系統操做OSS 上的對象,實現數據的共享。
11.Darko
【項目簡介】
Darko 是阿里媽媽的 THX 團隊編寫的一個站點生成工具,與 Jekyll 兼容,在不便安裝 Jekyll 的平臺上,能夠試試 Darko。
12.taobao-pamirs-proxycache
【項目簡介】
taobao-pamirs-proxycache是一個使緩存配置和業務代碼分離的緩存管理框架。緩存代理經過XML配置,框架使用Spring AOP的方式與業務代碼無縫結合。
【架構圖】
13.Crox
【項目簡介】
Crox 是一個由 JavaScript 語言實現的高性能跨語言模板引擎。Crox 模板能夠直接在JavaScript環境中使用,也能夠翻譯成 PHP、 JSP 等其餘編程語言的可執行方法或翻譯成 Velocity、Smarty 等其餘模板引擎的源模板,Crox 經過獨有的「模板邏輯直譯」技術保證翻譯後的結果在各類環境下都具有最佳執行效率。
14.BiSheng.js
【項目簡介】
BiSheng.js 是純粹的數據雙向綁定庫。BiSheng.js 的名稱源自活字印刷術的發明者「畢昇」。由於單向綁定猶如「刻版印刷」,雙向綁定猶如「活字印刷」,故名 BiSheng.js。
15.KsLite
【項目簡介】
KsLite 是 花費10 年開發的一個短小精悍的模塊加載器,特別適合在廣告投放、廣告創意等第三方應用中使用。它的種子文件自己支持異步加載,並能夠被屢次加載。而其自己已具備現代模塊加載器必備的異步的多層依賴處理機制和較完善的包管理及打包機制。
16.OB configure
【項目簡介】
OB Configure是OceanBase配置管理中心,保存了全部的OceanBase Java客戶端的配置參數,包括:數據庫集羣地址、用戶名、密碼以及數據源自己的配置項。其主要功能爲:配置信息集中化管理和操做,簡化DBA操做流程, 同時方便OceanbBase Java客戶端的升級。
17.TDH_Socket
【項目簡介】
TDH_Socket 是一個MySQL daemon 插件, 相似於HandlerSocket。如今TDH_Socket能接受客戶端的TCP請求,而且直接經過MySQL的Handler層訪問數據,繞開了SQL解析等一系列邏輯。TDH_Socket的Java客戶端能夠經過在客戶端解析SQL的方式提供JDBC接口來提升易用性,而且也不會下降性能 。
18.Node-hbase-client
【項目簡介】
node-hbase-client 是 Node.js 的異步 HBase 客戶端,使用純 JavaScript 實現。
19.Tsar2bd
【項目簡介】
Tsar是淘寶的一個用來收集服務器系統和應用信息的採集報告工具,如收集服務器的系統信息(cpu,mem等),以及應用數據(nginx、swift等),收集到的數據存儲在服務器磁盤上,能夠隨時查詢歷史信息,也能夠將數據發送到nagios報警。Tsar可以比較方便地增長模塊,只須要按照 tsar 的要求編寫數據的採集函數和展示函數,就能夠把自定義的模塊加入到tsar中。
20.Aliyun-openapi-php-sdk
【項目簡介】
aliyun-openapi-php-sdk 是阿里雲官方爲 PHP 開發者提供的阿里雲 Open API SDK。
21.Brix-bisheng
【項目簡介】
brix-bisheng 是一款純粹的數據雙向綁定庫工具。
【架構圖】
22.Asyncload
【項目簡介】
Asyncload是一款異步並行加載工具(依賴字節碼技術)。用於經常使用的IO需求,如:
①nas上文件 (共享文件存儲)
②output/xxx (磁盤文件)
③memcache client / cat client (cache服務)
④database (oracle , mysql) (數據庫)
⑤dubbo client (外部服務)
⑥search client (搜索引擎)
在早期開發的時候由於考慮到I/O阻塞,長的外部環境單個請求處理時間基本都是在幾十ms,最終的出路只能異步+並行,從而促使了該開源產品的誕生。
【架構圖】
23.DragonBonesJS
【項目簡介】
DragonBonesJS是DragonBones的JS版本,是DragonBones的改進版。而DragonBones是Adobe支持的一個開源項目,用於製做和播放骨骼動畫,其首先在Flash和Starling引擎上使用,後續繼續推廣支持多個遊戲引擎,如今已經能很好的支持HTML5和cocos2d-x了。
【架構圖】
24.CNPM
【項目簡介】
CNPM 是阿里巴巴開發的一個Nodejs的庫,致力於打造私有的 NPM 註冊服務。固然,除了私有庫功能之外,CNPM官網 (http://cnpmjs.org/) 還提供了NPM同步的服務。
【架構圖】