點擊上方藍色字體,選擇“設爲星標”
回覆”面試“獲取更多驚喜
微衆銀行開源項目Linkis正式通過Apache軟件基金會(ASF)的投票表決,全票通過進入ASF孵化器!
Linkis簡介
Linkis 在上層應用程序和底層引擎之間構建了一層計算中間件。通過使用Linkis 提供的REST/WebSocket/JDBC 等標準接口,上層應用可以方便地連接訪問MySQL/Spark /Hive/Presto/ Flink 等底層引擎,同時實現變量、腳本、函數和資源文件等用戶資源的跨上層應用互通。
作爲計算中間件,Linkis 提供了強大的連通、複用、編排、擴展和治理管控能力。通過計算中間件將應用層和引擎層解耦,簡化了複雜的網絡調用關係,降低了整體複雜度,同時節約了整體開發和維護成本。
Linkis 自2019年開源發佈以來,已累計積累了700多家試驗企業和1000+沙盒試驗用戶,涉及金融、電信、製造、互聯網等多個行業。許多公司已經將Linkis 作爲大數據平臺底層計算存儲引擎的統一入口,和計算請求/任務的治理管控利器。
核心特點
目前支持的計算存儲引擎:Spark、Hive、Python、Presto、ElasticSearch、MLSQL、TiSpark、JDBC和Shell等。正在支持中的計算存儲引擎:Flink、Impala等。支持的腳本語言:SparkSQL, HiveQL, Python, Shell, Pyspark, R, Scala 和JDBC 等。
基於Orchestrator、Label Manager和定製的Spring Cloud Gateway等服務,Linkis能夠提供基於多級標籤的跨集羣/跨IDC 細粒度路由、負載均衡、多租戶、流量控制、資源控制和編排策略(如雙活、主備等)支持能力。
能夠接收、執行和管理針對各種計算存儲引擎的任務和請求,包括離線批量任務、交互式查詢任務、實時流式任務和存儲型任務;資源管理能力。ResourceManager 不僅具備 Linkis0.X 對 Yarn 和 Linkis EngineManager 的資源管理能力,還將提供基於標籤的多級資源分配和回收能力,讓 ResourceManager 具備跨集羣、跨計算資源類型的強大資源管理能力。
爲每個計算任務生成context id,跨用戶、系統、計算引擎的關聯管理用戶和系統資源文件(JAR、ZIP、Properties等),結果集,參數變量,函數等,一處設置,處處自動引用;
系統和用戶級物料管理,可分享和流轉,跨用戶、系統共享物料。
架構概要
Linkis 基於微服務架構開發,其服務可以分爲3類:計算治理服務、公共增強服務和微服務治理服務。
計算治理服務,支持計算任務/請求處理流程的3個主要階段:提交->準備->執行;
公共增強服務,包括上下文服務、物料管理服務及數據源服務等;
微服務治理服務,包括定製化的Spring Cloud Gateway、Eureka、Open Feign。
OK,看到這裏你發現什麼了沒?如果你聽說過Zepplin。你可能知道我在說什麼,Linkis的出現完全可以替代掉Zepplin,成爲做數據平臺/中臺的利器!
期望Linkis在未來的一段時間內,儘快補齊缺失的部分,比如對Flink最新版本的支持,逐步完善自己的應用生態圈!
倉庫地址:https://github.com/WeBankFinTech/Linkis
(後續將遷移至Apache組織下,可通過 Linkis 搜索)