長沙Java培訓:Java開源專案分享

千鋒雲端計算發表於2021-11-09

       千鋒 抽時間整理了一些Java開源專案,希望對大家有幫助! 雖然有部分專案不是那麼”完美“,但是依然非常值得我們學習。

src=http___img.php.cn_upload_article_000_000_046_5ede0f3bebd5f746.jpg&refer=http___img.php

       1、Canal

       Canal[kə'næl] 翻譯過來是水道/管道/溝渠的意思,主要用於基於 MySQL 資料庫增量日誌解析,提供增量資料訂閱和消費。 Canal 可以幫助我們實現 MySQL 和其他資料來源比如 Elasticsearch、Kafka、RocketMQ 或者另外一臺 MySQL 資料庫之間的資料同步。Canal 的底層原理依賴 binlog,它會模擬 MySQL 主從複製的過程,解析 binlog 將資料同步到其他的資料來源。

       2、MySQL

       binlog(binary log 即二進位制日誌檔案) 主要記錄了 MySQL 資料庫中資料的所有變化(資料庫執行的所有 DDL 和 DML 語句)。因此,我們根據主庫的 MySQL binlog 日誌就能夠將主庫的資料同步到從庫中。

       3、EasyExcel

       Java 解析、生成 Excel 常用的框架有 Apache poi、jxl ,但是這兩個框架使用起來都不夠優雅,並且非常耗記憶體,嚴重時會導致記憶體溢位。 怎麼解決這個問題呢? 推薦你使用阿里開源的 EasyExcel。正如這個專案官網介紹的那樣,這是一款快速、簡單避免 OOM 的 java 處理 Excel 工具。

        4、arthas

        Arthas 是阿里開源的一個 Java 診斷工具,能夠分析、診斷、定位 Java 應用問題。 Arthas 把一些常用的 Java 診斷相關的功能封裝起來了,提供簡單的命令列操作,功能強大。 Arthas 底層用到了位元組碼程式設計相關的技術,簡單看了一下原始碼,應該是基於 ByteBuddy。

       ByteBuddy 是一款強大的 Java 位元組碼增強框架,它提供了一套統一易上手的 Api,簡化了位元組碼編碼的學習和使用難度。Byte Buddy 成熟穩定,效能也還不錯。像我們們平常經常使用 Mockito,Hibernate,Jackson 等知名框架都使用了 Byte Buddy。

       5、FastJson

       FastJson 是阿里的開源一個 JSON 解析庫,其底層使用了 ASM 來動態生成類。Fastjson 的速度非常快,不過,快的同時也帶來一些潛在的安全問題。

       6、 Sentinel

       Sentinel 是阿里巴巴體提供的面向分散式服務架構的流量控制元件,主要以流量為切入點,提供 流量控制、熔斷降級、系統自適應保護等功能來保護系統的穩定性和可用性。
阿里巴巴開源的15個頂級Java專案

       7、Nacos

       Nacos 是一個更易於構建雲原生應用的動態服務發現、配置管理和服務管理平臺。 我這裡簡單對 Nacos 官網對 Nacos 的介紹總結了一下: Nacos 主要用於發現、配置和管理微服務:Nacos 是 Spring Cloud Alibaba 提供的服務註冊發現元件,類似於 Consul、Eureka。並且,提供了分散式配置管理功能。 Nacos 名字的含義 :Na 即是 Naming(註冊中心),co 即是 Configuration(配置管理),最後的 s 即是 Service。

       Nacos 的關鍵特性包括: 服務發現和服務健康監測。 動態配置服務 :提供能很多開箱即用的配置管理特性比如一鍵回滾配置、版本跟蹤、金絲雀釋出等等。並且,內建了簡潔易用的 UI。 動態 DNS 服務 :動態 DNS 服務支援權重路由,讓您更容易地實現中間層負載均衡、更靈活的路由策略、流量控制以及資料中心內網的簡單 DNS 解析服務。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69916964/viewspace-2841400/,如需轉載,請註明出處,否則將追究法律責任。

相關文章