前言
開源專案起初由國外一些工程師發起,最著名的開源社區及私有軟體專案的托管平臺GitHub,由國外Chris Wanstrath創辦從一個開發者社區變成了一個免費開源代碼托管平臺;國內越來越多的公司把自研的一些優秀開源框架貢獻出來,阿里巴巴、騰訊、百度、網易、當當、攜程等公司都有在github上開源一些優秀的專案,其中阿里巴巴的的開源專案很多,幾乎國內所有公司都用過阿里巴巴的一些專案,耳熟能詳的如:druid、fastjson,分布式流行的當下,阿里也有眾多分布式開源專案,今天主要搜羅一下阿里分布式開源專案,
一、分布式RPC服務框架Dubbo
Apache Dubbo (incubating) |是阿里巴巴的一款高性能、輕量級的開源Java RPC框架,它提供了三大核心能力:面向介面的遠程方法呼叫,智能容錯和負載均衡,以及服務自動注冊和發現,
高性能優秀的服務框架,使得應用可通過高性能的 RPC 實作服務的輸出和輸入功能,可以和 Spring框架無縫集成,國內很多中小公司都在用阿里巴巴的dubbo框架構建分布式專案,
github地址:https://github.com/alibaba/dubbo
二、Spring Cloud Alibaba
分布式應用服務開發的一站式解決方案Spring Cloud Alibaba,是阿里巴巴基于Spring Cloud并在其基礎之上添加阿里自己的組件進行的升級和改造,專案包含開發分布式應用服務的必需組件,方便開發者通過 Spring Cloud 編程模型輕松使用這些組件來開發分布式應用服務,使用 Spring Cloud Alibaba,只需要添加一些注解和少量配置,就可以將 Spring Cloud 應用接入阿里分布式應用解決方案,通過阿里中間件來迅速搭建分布式應用系統,使用過SpringCloud開發的同學,不會對SpringCloudAlibaba陌生,
github地址:https://github.com/spring-cloud-incubator/spring-cloud-alibaba
三、動態服務發現、配置和服務管理平臺Nacos
Nacos是阿里巴巴研發的一個集注冊中心與配置中心于一體的管理平臺,Nacos提供了一組簡單易用的特性集,幫助您實作動態服務發現、服務配置管理、服務及流量管理,
Nacos 幫助您更敏捷和容易地構建、交付和管理微服務平臺, Nacos 是構建以“服務”為中心的現代應用架構(例如微服務范式、云原生范式)的服務基礎設施,
github地址:https://nacos.io/en-us/
四、高可用流量管理框架Sentinel
Sentinel 是阿里開源的一個面向微服務的輕量級流量控制框架,從流量控制、熔斷降級、系統負載保護等多個維度保護服務的穩定性,
只要通過 Sentinel API 定義的代碼,就是資源,能夠被 Sentinel 保護起來,大部分情況下,可以使用方法簽名,URL,甚至服務名稱作為資源名來標示資源,
github地址:https://github.com/alibaba/Sentinel
五、分布式鏈路追蹤中間件SOFATracer
分布式鏈路追蹤解決方案有很多,SOFATracer 是阿里開源的一個用于分布式系統呼叫跟蹤的組件,通過統一的 traceId 將呼叫鏈路中的各種網路呼叫情況以日志的方式記錄下來,以達到透視化網路呼叫的目的,
這些日志可用于故障的快速發現,服務治理等,
github地址:https://github.com/alipay/sofa-tracer
六、高性能 Java RPC 框架SOFARPC
阿里開源的RPC框架除了Dubbo外還有螞蟻金服的SOFARPC ,SOFARPC是一個高可擴展性、高性能、生產級的 Java RPC 框架,在螞蟻金服 SOFARPC 已經經歷了十多年及五代版本的發展,SOFARPC 致力于簡化應用之間的 RPC 呼叫,為應用提供方便透明、穩定高效的點對點遠程服務呼叫方案,為了用戶和開發者方便的進行功能擴展,SOFARPC 提供了豐富的模型抽象和可擴展介面,包括過濾器、路由、負載均衡等等,同時圍繞 SOFARPC 框架及其周邊組件提供豐富的微服務治理方案,
github地址:https://github.com/alipay/sofa-rpc
七、面向云的分布式訊息領域標準OpenMessaging
OpenMessaging 是由阿里巴巴發起,與雅虎、滴滴出行、Streamlio 公司共同參與創立,旨在創立廠商無關、平臺無關的分布式訊息及流處理領域的應用開發標準,
github地址:https://github.com/openmessaging/openmessaging-java
八、P2P 檔案分發系統Dragonfly
Dragonfly(蜻蜓)是阿里自研的 P2P 檔案分發系統,用于解決大規模檔案分發場景下分發耗時、成功率低、帶寬浪費等難題,大幅提升發布部署、資料預熱、大規模容器鏡像分發等業務能力,
開源版的 Dragonfly 可用于 P2P 檔案分發、容器鏡像分發、區域限速、磁盤容量預檢等,它支持多種容器技術,對容器本身無需做任何改造,鏡像分發比 natvie 方式提速可高達 57 倍,Registry 網路出流量降低99.5%以上,我們公司就用這款專案用于日志存盤和搜索非常方便,
github地址:https://github.com/alibaba/Dragonfly
九、基于 Spring Boot的研發框架SOFABoot
SOFABoot 是螞蟻金服開源的基于 Spring Boot 的研發框架,它在 Spring Boot 的基礎上,提供了諸如 Readiness Check,類隔離,日志空間隔離等等能力,在增強了 Spring Boot 的同時,SOFABoot 提供了讓用戶可以在 Spring Boot 中非常方便地使用 SOFAStack 相關中間件的能力,
github地址:https://github.com/alipay/sofa-boot
十、分布式資料層TDDL
在分布式系統中,經常需要實作讀寫分離,動態資料庫配置等;配套資料庫實作分布式系統的一些解決方案,TDDL 是一個基于集中式配置的 jdbc datasource實作,具有主備,讀寫分離,動態資料庫配置等功能,
github地址:https://github.com/alibaba/tb_tddl
十一、輕量級分布式資料訪問層CobarClient
MyBatis相信大家都用過,持久層中間件,具有多級快取實作配套Spring/SpringBoot插件使用更方便;Cobar Client是一個輕量級分布式資料訪問層(DAL)基于iBatis(已更名為MyBatis)和Spring框架實作,
github地址:https://github.com/alibaba/cobarclient
十二、redis 的 java 客戶端Tedis
Redis是一個非常實用和高效的NoSQL(非關系型資料庫)能夠有效解決系統和資料庫之間的一些訪問壓力,并且提供一些其他更重要的功能如:分布式鎖的實作等,
Tedis 是另一個 redis 的 java 客戶端,Tedis 的目標是打造一個可在生產環境直接使用的高可用 Redis 解決方案,
github地址:https://github.com/justified/tedis
總結
在國人開源專案越來越多,科技發展的當下,實力越來越強大,了解并參與到開源專案中,是每一個技術人的實力認證和驕傲,即使未能參與到開源的專案中去,甚至未能在作業中使用它們 ,至少我們可以去了解這些專案,
既然都看完了整篇文章,相信對你一定有所幫助,原創不易,遠離伸手黨,
點擊下方【打賞】小編,或者關注公眾號給予支持,你們的每一份鼓勵都將是小編偉大的動力,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/201688.html
標籤:其他
