2018年阿里巴巴關於Java重要開源項目匯總

2020-11-24 51CTO

 

1.分布式應用服務開發的一站式解決方案 Spring Cloud Alibaba

Spring Cloud Alibaba 致力於提供分布式應用服務開發的一站式解決方案。此項目包含開發分布式應用服務的必需組件,方便開發者通過 Spring Cloud 編程模型輕鬆使用這些組件來開發分布式應用服務。

依託 Spring Cloud Alibaba,您只需要添加一些註解和少量配置,就可以將 Spring Cloud 應用接入阿里分布式應用解決方案,通過阿里中間件來迅速搭建分布式應用系統。

地址:https://github.com/spring-cloud-incubator/spring-cloud-alibaba

2. JDBC 連接池、監控組件 Druid

Druid是一個 JDBC 組件。

1.監控資料庫訪問性能。

2.提供了一個高效、功能強大、可擴展性好的資料庫連接池。

3.資料庫密碼加密。

4.SQL執行日誌。

地址:https://github.com/alibaba/druid

3. Java 的 JSON 處理器 fastjson

fastjson 是一個性能很好的 Java 語言實現的 JSON 解析器和生成器,來自阿里巴巴的工程師開發。

主要特點:快速FAST (比其它任何基於Java的解析器和生成器更快,包括jackson);強大(支持普通JDK類包括任意Java Bean Class、Collection、Map、Date或enum);零依賴(沒有依賴其它任何類庫除了JDK)。

地址:https://github.com/alibaba/fastjson

4. 服務框架 Dubbo

Apache Dubbo (incubating) |是阿里巴巴的一款高性能、輕量級的開源Java RPC框架,它提供了三大核心能力:面向接口的遠程方法調用,智能容錯和負載均衡,以及服務自動註冊和發現。

地址:https://github.com/alibaba/dubbo

5. 企業級流式計算引擎 JStorm

JStorm 是參考 Apache Storm 實現的實時流式計算框架,在網絡IO、線程模型、資源調度、可用性及穩定性上做了持續改進,已被越來越多企業使用。JStorm 可以看作是 storm 的 java 增強版本,除了內核用純java實現外,還包括了thrift、python、facet ui。從架構上看,其本質是一個基於 zk 的分布式調度系統。

地址:https://github.com/alibaba/jstorm

6. apns4j

apns4j 是 Apple Push Notification Service 的 Java 實現!

地址:https://github.com/teaey/apns4j

7. 分布式數據層 TDDL

TDDL 是一個基於集中式配置的 jdbc datasource實現,具有主備,讀寫分離,動態資料庫配置等功能。

地址:https://github.com/alibaba/tb_tddl

8. 輕量級分布式數據訪問層 CobarClient

Cobar Client是一個輕量級分布式數據訪問層(DAL)基於iBatis(已更名為MyBatis)和Spring框架實現。

地址:https://github.com/alibaba/cobarclient

9. 淘寶定製 JVM:TaobaoJVM

TaobaoJVM 基於 OpenJDK HotSpot VM,是國內***個優化、定製且開源的伺服器版Java虛擬機。目前已經在淘寶、天貓上線,全部替換了Oracle官方JVM版本,在性能,功能上都初步體現了它的價值。

地址:http://jvm.taobao.org

10. Java 圖片處理類庫 SimpleImage

SimpleImage是阿里巴巴的一個Java圖片處理的類庫,可以實現圖片縮略、水印等處理。

地址:https://github.com/alibaba/simpleimage

11. redis 的 java 客戶端 Tedis

Tedis 是另一個 redis 的 java 客戶端。Tedis 的目標是打造一個可在生產環境直接使用的高可用 Redis 解決方案。

地址:https://github.com/justified/tedis

12.開源 Java 診斷工具 Arthas

Arthas(阿爾薩斯)是阿里巴巴開源的 Java 診斷工具,深受開發者喜愛。

Arthas 採用命令行交互模式,同時提供豐富的 Tab 自動補全功能,進一步方便進行問題的定位和診斷。

地址:https://alibaba.github.io/arthas/

13.動態服務發現、配置和服務管理平臺 Nacos

Nacos 致力於幫助您發現、配置和管理微服務。Nacos 提供了一組簡單易用的特性集,幫助您實現動態服務發現、服務配置管理、服務及流量管理。

Nacos 幫助您更敏捷和容易地構建、交付和管理微服務平臺。 Nacos 是構建以「服務」為中心的現代應用架構(例如微服務範式、雲原生範式)的服務基礎設施。

地址:https://nacos.io/en-us/

14.Java 解析 Excel 工具 easyexcel

Java 解析、生成 Excel 比較有名的框架有 Apache poi、jxl 。但他們都存在一個嚴重的問題就是非常的耗內存,poi 有一套 SAX 模式的 API 可以一定程度的解決一些內存溢出的問題,但 POI 還是有一些缺陷,比如 07 版 Excel 解壓縮以及解壓後存儲都是在內存中完成的,內存消耗依然很大。easyexcel 重寫了 poi 對 07 版 Excel 的解析,能夠原本一個 3M 的 excel 用 POI sax 依然需要 100M 左右內存降低到 KB 級別,並且再大的 excel 不會出現內存溢出,03 版依賴 POI 的 sax 模式。在上層做了模型轉換的封裝,讓使用者更加簡單方便。

地址:https://github.com/alibaba/easyexcel

15.高可用流量管理框架 Sentinel

Sentinel 是面向微服務的輕量級流量控制框架,從流量控制、熔斷降級、系統負載保護等多個維度保護服務的穩定性。

只要通過 Sentinel API 定義的代碼,就是資源,能夠被 Sentinel 保護起來。大部分情況下,可以使用方法籤名,URL,甚至服務名稱作為資源名來標示資源。

地址:https://github.com/alibaba/Sentinel

16.基於多維度 Metrics 的系統度量和監控中間件 SOFALookout

Lookout 是一個利用多維度的 metrics 對目標系統進行度量和監控的項目。Lookout 的多維度 metrics 參考 Metrics 2.0 標準。Lookout 項目分為客戶端部分與伺服器端部分。

客戶端是一個 Java 的類庫,可以將它植入您的應用代碼中採集 metrics 信息,客戶端更多詳情。

服務端代碼部分,將於下一版本提供。通過 LOOKOUT 的服務,可以對 metrics 數據進行收集、加工、存儲和查詢等處理,另外結合 grafana,可做數據可視化展示。

地址:https://github.com/alipay/sofa-lookout

17.基於 Spring Boot 的研發框架 SOFABoot

SOFABoot 是螞蟻金服開源的基於 Spring Boot 的研發框架,它在 Spring Boot 的基礎上,提供了諸如 Readiness Check,類隔離,日誌空間隔離等等能力。在增強了 Spring Boot 的同時,SOFABoot 提供了讓用戶可以在 Spring Boot 中非常方便地使用 SOFAStack 相關中間件的能力。

地址:https://github.com/alipay/sofa-boot

18.輕量級 Java 類隔離容器 SOFAArk

SOFAArk 是一款基於 Java 實現的輕量級類隔離容器,由螞蟻金服公司開源貢獻;主要為應用程式提供類隔離和依賴包隔離的能力;基於 Fat Jar 技術,應用可以被打包成一個自包含可運行的 Fat Jar,應用既可以是簡單的單模塊 Java 應用也可以是 Spring Boot 應用。可訪問網址進入快速開始並獲取更多詳細信息。

地址:https://alipay.github.io/sofastack.github.io/

19.分布式鏈路追蹤中間件 SOFATracer

SOFATracer 是一個用於分布式系統調用跟蹤的組件,通過統一的 traceId 將調用鏈路中的各種網絡調用情況以日誌的方式記錄下來,以達到透視化網絡調用的目的。這些日誌可用於故障的快速發現,服務治理等。

地址:https://github.com/alipay/sofa-tracer

20.高性能 Java RPC 框架 SOFARPC

SOFARPC 是一個高可擴展性、高性能、生產級的 Java RPC 框架。在螞蟻金服 SOFARPC 已經經歷了十多年及五代版本的發展。SOFARPC 致力於簡化應用之間的 RPC 調用,為應用提供方便透明、穩定高效的點對點遠程服務調用方案。為了用戶和開發者方便的進行功能擴展,SOFARPC 提供了豐富的模型抽象和可擴展接口,包括過濾器、路由、負載均衡等等。同時圍繞 SOFARPC 框架及其周邊組件提供豐富的微服務治理方案。

地址:https://github.com/alipay/sofa-rpc

21.基於 Netty 的網絡通信框架 SOFABolt

SOFABolt 是螞蟻金融服務集團開發的一套基於 Netty 實現的網絡通信框架。

為了讓 Java 程式設計師能將更多的精力放在基於網絡通信的業務邏輯實現上,而不是過多的糾結於網絡底層 NIO 的實現以及處理難以調試的網絡問題,Netty 應運而生。

為了讓中間件開發者能將更多的精力放在產品功能特性實現上,而不是重複地一遍遍製造通信框架的輪子,SOFABolt 應運而生。

地址:https://github.com/alipay/sofa-bolt

22.動態非侵入 AOP 解決方案 JVM-Sandbox

JVM-Sandbox,JVM 沙箱容器,一種基於 JVM 的非侵入式運行期 AOP 解決方案。

地址:https://github.com/alibaba/jvm-sandbox

23.面向雲的分布式消息領域標準 OpenMessaging

OpenMessaging 是由阿里巴巴發起,與雅虎、滴滴出行、Streamlio 公司共同參與創立,旨在創立廠商無關、平臺無關的分布式消息及流處理領域的應用開發標準。

地址:https://github.com/openmessaging/openmessaging-java

24.P2P 文件分發系統 Dragonfly

Dragonfly(蜻蜓)是阿里自研的 P2P 文件分發系統,用於解決大規模文件分發場景下分發耗時、成功率低、帶寬浪費等難題。大幅提升發布部署、數據預熱、大規模容器鏡像分發等業務能力。

開源版的 Dragonfly 可用於 P2P 文件分發、容器鏡像分發、局部限速、磁碟容量預檢等。它支持多種容器技術,對容器本身無需做任何改造,鏡像分發比 natvie 方式提速可高達 57 倍,Registry 網絡出流量降低99.5%以上。

地址:https://github.com/alibaba/Dragonfly

25.LayoutManager 定製化布局方案 vlayout

VirtualLayout是一個針對RecyclerView的LayoutManager擴展, 主要提供一整套布局方案和布局間的組件復用的問題。

地址:https://github.com/alibaba/vlayout

26.Java 代碼規約掃描插件 P3C

項目包含三部分:PMD 實現、IntelliJ IDEA 插件、Eclipse 插件

地址:https://github.com/alibaba/p3c

27.Android 容器化框架 Atlas

Atlas 是由阿里巴巴移動團隊自研的手機淘寶安卓客戶端容器化框架,以容器化思路解決大規模團隊協作問題,實現並行開發、快速迭代和動態部署,適用於 Android 4.x 以上系統版本的大小型 App 開發。

地址:http://atlas.taobao.org/

(完)

【責任編輯:

龐桂玉

TEL:(010)68476606】

點讚 0

相關焦點

  • 阿里巴巴 canal 開源組件發布 v1.1.3 版本
    canal 是阿里巴巴在 2012 年開源的基於 MySQL 資料庫增量日誌解析,提供增量數據訂閱&消費。
  • 適合Java新手的開源項目集合——在 GitHub 學編程
    在開源的世界裡,有著無數的 Java 項目等待你去發現探索,讓我們一起跟著本篇文章去看看有哪些開源項目吧?興趣是最好的老師,HelloGitHub 就是幫你找到編程的樂趣。先 clone 把源碼下載後,可以通過 java -jar FlappyBird.jar 直接運行,也可以通過運行源碼中的 GameApp:main 方法來啟動整個遊戲。
  • 阿里巴巴向 Apache 軟體基金會捐贈消息中間件 RocketMQ
    繼向 Apache 軟體基金會捐贈 JStorm 後,阿里巴巴在開源界又有一大舉動。11 月 28 日,阿里巴巴宣布將開源分布式消息中間件 RocketMQ 捐贈給 Apache,成為 Apache 孵化項目,孵化成功後 RocketMQ 有望成為國內首個網際網路中間件在 Apache上 的頂級項目,成為全球繼 ActiveMQ,Kafka 之後,分布式消息引擎家族中的新成員。
  • 芬蘭開源資料庫MariaDB獲2290萬歐元融資,阿里巴巴領投
    日前,歐洲開源資料庫項目MariaDB獲得2290萬歐元(約合2700萬美元)的融資,其中,阿里巴巴領投約2000萬歐元,剩餘資金來自現有股東。該交易尚未完成,本周獲得MariaDB股東批准後,有望很快完成。
  • 如何在 Github 上發現優秀的開源項目?
    問到點子上了,GitHub 其中一個最重要的作用就是發現全世界最優秀的開源項目,你沒事的時候刷刷微博、知乎,人家沒事的時候刷刷 GitHub ,看看最近有哪些流行的項目,久而久之,這差距就越來越大,那麼如何發現優秀的開源項目呢?這篇文章我就來給大家介紹下。1.
  • 機器之心年度盤點:2018年重大研究與開源項目
    在這篇文章中,機器之心從想法到實踐介紹了 2018 年令人矚目的研究工作,它們共同構建了機器學習的當下。我們主要按領域從模型到開源工具展開,其中算法或模型的選擇標準主要是效果和潛力,而開源工具的選擇主要憑藉 GitHub 的收藏量與效果。
  • 2018 年度 GtiHub 開源項目 TOP 25:數據科學 & 機器學習
    如果你問怎麼學習的話,我可以給你一個暗示——開源項目!世界領先的科技公司通過在 GitHub 上發布其熱門算法的代碼,對項目進行開源。2018 年,在 Google 和 Facebook 等公司的帶領下,這類開源項目大幅增加。其中最好的那部分開源項目,寫代碼的研究者還提供了預訓練模型,從而讓你我這些人不必再浪費時間從頭開始創建高難度的模型。
  • 2020年最受歡迎的雲生態開源應用程式監控工具
    儘管容器部署主要涉及在每個容器內運行單個應用程式或服務,但是隨著部署規模的擴大,對環境狀態和運行狀況的可見性變得越來越重要,而不僅僅是在作業系統或應用程式級別,而且在容器級別也是如此。雲生態監控和日誌處理領域分為實時資料庫,度量標準收集器,可視化工具,輪詢器,記錄器等。過去幾年中,開源產品和商業監控應用程式不斷湧現,本文我介紹幾個最受歡迎的開源雲應用監控工具。
  • 阿里巴巴Java方向面試題匯總(含答案)
    十一、談談Hibernate的理解,一級和二級緩存的作用,在項目中Hibernate都是怎麼使用緩存的?Hibernate是一個開發的對象關係映射框架(ORM)。它對JDBC進行了非常對象封裝,Hibernate允許程式設計師採用面向對象的方式來操作關係資料庫。
  • 嚇一跳,阿里雲在GitHub上有400多個開源項目,應該是中國第一吧
    作為一個程式設計師,入行這麼多年來一直關注著開源的事情,今天心血來潮查了一下國內一些公司關於開源的信息,沒想到阿里和旗下的阿里雲讓我有點吃驚,排名第一不是百度、騰訊這些標榜自己是科技公司的巨頭,反而在GitHub全球貢獻排行榜上,阿里是唯一一家入圍GitHub 頂尖貢獻名單的中國公司。
  • 阿里開源otter:分布式資料庫同步系統
    【IT168 資訊】阿里巴巴一向熱衷於開源。從風風火火的去IOE運動,到阿里在GitHub中託管的60個開源項目,都可以看到他們開源的決心。本周一(8月19日),阿里巴巴宣布開源分布式資料庫同步系統otter。
  • 擁抱雲原生,如何將開源項目用k8s部署?
    本文將重點分享阿里開源項目otter適配k8s部署的改造過程,其中的改造過程和技巧應該適用於將大多數開源項目改造到k8s進行部署。otter的項目整體上自成一體,出於改造成本考慮,儘量在項目已有基礎上,做一些適配,不改動原始碼。本文將重點分享對於otter適配k8s部署的改造過程,有不當之處,還請多多指教。
  • 世界排行第一的程式語言:java迎來25歲生日
    Java起源於 1991 年的「 Oak」項目,由James Gosling領導。面向對象的Java以其「一次編寫,隨處運行」的可移植性而聞名,因為Java虛擬機支持多種硬體平臺和作業系統以及Java applet可以從網頁上運行。Java小程序多年來提供號稱優於JavaScript的性能,但後者最終受到瀏覽器製造商的青睞,並於 2018 年將Java從瀏覽器中刪除。
  • 欲打造「白盒+開源OS」網絡新生態,ODCC將宣布鳳凰項目啟動
    2017開放數據中心峰會的上午主會場ODCC網絡工作組將正式宣布下一年度的重要項目 ——鳳凰項目的啟動鳳凰項目的目標是打造新的「白盒+開源OS」的網絡生態,促進中國開放網絡和SDN網絡的進一步發展。
  • 推薦一些 GitHub 上值得前端學習的開源實戰項目,進階必看!
    最近好多同學問我了解找一些學習的實戰項目;看一個別人寫的優秀的項目,從中可以學到很多;比如代碼的規範,項目的結構;從項目作者每次提交記錄,去學習一些別人的開發思維以及開發整個項目的流程;下面我主要找了一些比較火的一些框架以及 node 項目。
  • SonarQube Java 3.2 發布 - OSCHINA - 中文開源技術交流社區
    compute and display references on test sources[SONARJAVA-724] - Provide an alternative to PMD rule 'CloseResource' able to detect more cases of connection leaks[SONARJAVA-830] - Migrate java
  • Java進行內存洩露 GC 分析都有哪些常用好用的工具
    使用Java語言開發應用程式,雖然JVM幫我們進行了GC收集、清除工作;但是使用不當的話,還是會導致某些對象常駐堆空間無法給垃圾收集器清除,導致內存洩露、內存溢出等情況,今天盤點一下在項目中進行內存洩露分析和GC分析的一些常用、好用的工具。
  • 工信部公布2020開源託管平臺項目結果
    日前,工業和信息化部技術發展司公布了「2020年開源託管平臺項目」的招標結果,工業和信息化部選擇Gitee來構建「面向中國的獨立,開放原始碼託管平臺」。開源成為數字時代的重要技術支撐隨著新一代信息技術的快速發展,開源已成為實現支持網際網路、物聯網、雲計算、大數據、人工智慧等領域快速發展的重要動力,成為信息技術發展的重要支撐,並越發深刻地影響著整個信息技術產業的發展格局。數據表明,開源技術支撐了90%以上的網際網路產品,推動了一大批小而精的創新型企業發展壯大。
  • 著名開源項目Apache Doris開發者徐冬奇加入微博廣告技術團隊
    DoNews 6月9日消息(記者 程夢玲)著名開源項目、在線分析型分布式資料庫Apache Doris的主要開發者,原百度鳳巢廣告系統高級架構師、阿里巴巴數據智能商業化技術負責人徐冬奇,已於近日入職微博廣告技術團隊,擔任微博廣告技術總架構師。
  • 相比於Java,python到底有哪些優勢?
    可唯獨java穩如泰山,不可動搖!自然而然的就會出現python與Java的討論聲。本文的目的在於討論python和java相比到底有哪些優勢,至於缺點暫且不提!不像java要寫許多繁重的代碼,python有許多開源的庫,你只需要調用即可!對於大部分人而言,在極短的時間內開發出自己想要的項目無疑是重要的,一方面是可以獲得巨大的成就感,另一方面則可以節約時間去幹更多的事!