成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

推薦一些值得學習的開源項目和框架

開源
下面我來推薦一些我看過同時覺得不錯的項目(幾乎都是我參與過的),由易到難,其中也會包含 Java 和 Go 的項目,包含主流的中間件和云原生項目。

今天收到球友的問題,讓推薦一些值得看的開源項目,覺得 netty 這些太復雜了不太好上手。

確實如此,我們日常常用的 Spring、Netty 確實由于發展了多年,看起來比較頭大。

下面我來推薦一些我看過同時覺得不錯的項目(幾乎都是我參與過的),由易到難,其中也會包含 Java 和 Go 的項目,包含主流的中間件和云原生項目。

Java 項目

xxl-job

難度:???? 推薦指數:??????

xxl-job 是一個很經典的調度框架,目前在 GitHub 上也有 27k star 的關注,因為功能不復雜所以最近也沒有怎么更新了。

大家日常都會使用這類調度框架,所以理解難度非常低,加上他的實現也比較簡單,比如:

  • 使用 MySQL 的鎖來簡單粗暴的解決分布式鎖的問題
  • 線程池的使用:因為每個任務的調度都需要盡可能的互相不影響,所以里面大量使用了線程池,同時對如何獲取異步任務結果也有一些最佳實踐。
  • RPC 調用:里面內置了一個 RPC 框架,也是作者編寫的,其中的實現原理也不復雜,建議看看源碼,可以更好的理解我們在工作中用到 rpc 框架。

cim

難度:?????? 推薦指數:?????? 

它具備 IM 即時通訊的基本功能,同時基于它可以實現:

  • 即時通訊
  • 消息推送
  • IOT 消息平臺

通過 cim 你可以學習到分布式系統中:

  • 元數據是如何存放和同步的。
  • RPC 調用如何實現。
  • 長鏈接系統如何實現。
  • 復雜的分布式系統如何做集成測試等。

詳細的介紹可以查看項目首頁的 readme,發現有什么需要優化的地方(其實還蠻多 todo 沒有做)都歡迎提交 PR。

PowerJob

難度:?????? 推薦指數:????????

PowerJob 也是一個調度框架,只是他有后發優勢,結合了市面上其他調度系統的優點同時也新增了一些功能,以下是他功能的官方對比圖:

社區相對于 xxl-job 也更加活躍,目前剛發布了 5.1.0 版本,同時社區也整理許多學習的文章和資料:

它使用了 Akka 來實現遠程通信,對這部分內容感興趣的朋友不容錯過,可以看到一些最佳實踐。其中的代碼寫的也很規范,一些類的設計很好,可擴展性很高,比如常用的執行器都是通過一個MapProcessor 擴展而來的。

推薦大家從任務調度那一塊開始看:tech.powerjob.worker.actors.TaskTrackerActor#onReceiveServerScheduleJobReq

Pulsar

難度:???????? 推薦指數:????????

Pulsar 是目前主流的云原生消息隊列中間件,現在使用的公司也非常多,通過他你可以學習到:

  • API 設計:Pulsar 的 client 是直接面向開發者的,在易用性的前提下每次迭代升級還要考慮到兼容性。
  • 異步調用:Pulsar 里幾乎所有的請求都是異步的,所以大量使用了異步?回調(雖然也有一些坑),可以學到一些高性能代碼的編寫方式。
  • Netty 的最佳用法:消息收發的底層網絡框架也是 Netty 支撐的,Pulsar 對它做了封裝。
  • 基于 protocol 的多語言客戶端。
  • 因為 Pulsar 的通信編解碼使用的是 protocol,本身是可以基于它生成各種語言的 API,所以在此基礎上編寫其他語言的客戶端就非常方便。

不過由于 Pulsar 本身的復雜性,上手起來門檻還是不低,推薦先從客戶端的代碼(Java 和  Go 的都可以)上手。

StarRocks

難度:?????????? 推薦指數:????????

StarRocks 也是我最近才接觸到的 OLAP 數據庫項目,以前對這個領域的積累幾乎為零,所以也是從頭學習。

好在這段時間因為有需求也給它提交了幾個 PR,逐漸熟悉起來了。

我接觸下來這些開源項目,發現 StarRocks 這類數據庫項目是最有前(錢)景的,畢竟和數據打交道的產品公司的付費意愿會更高一些。

不過該項目確實對新手不太友好,最好是已經接觸過大數據領域再學習會更合適一些,但也不要怕,我就是一個純小白,沒基礎就跟著代碼 debug,反正都是 Java 寫的總能看懂。

OpenTelemetry

難度:???????? 推薦指數:??????????

OpenTelemetry 現在作為云原生可觀測性的事實標準,現在已經逐步成為各大公司必備的技術棧了。

通過一個 javaagent 就可以自動采集應用的 trace、metrics、logs 等數據,這里先推薦 opentelemetry-java-instrumentation,因為我們日常使用最多的就是基于這個項目打包出來的 javaagent,通過它可以學習到:

  • 如何編寫任意函數的攔截器
  • trace 信息是如何在線程和進程之間傳遞的
  • 一些常用框架是如何運行的
  • 比如你需要了解 gRPC 的原理,就可以查看 OpenTelemetry 是如何對他埋點的,從而知曉他的核心原理。
  • 優雅的 API 設計

同時 OpenTelemetry 算是我看過最優雅的代碼之一了,非常建議大家都看看。

Go(云原生項目)

cprobe

難度:?????? 推薦指數:??????

cprobe 屬于可觀測性項目,他的目的是可以把各種 exporter 都整合在一起,比如 kafka_exporter, nginx_exporter, mysql_exporter 等。

同時還做了上層抽象,可以統一管理各種監控對象的配置,這樣就可以部署一個進程監控所有的應用了。

通過這個項目可以學到:

  • 監控體系的基礎知識,比如 Prometheus 和 metrics 等
  • Go 語言的基本用法

VictoriaLogs

難度:???????? 推薦指數:????????

這是一個屬于 VictoriaMetrics 的一個子項目,通過這個名字應該會知道他主要用于處理日志,可以把他理解為 ElasticSearch 的簡易版,雖然功能簡單了但資源消耗也會比 ES 低很多,具體可以看下面的壓測圖:

通過這個項目可以學到:

  • 數據在磁盤中是如何存儲和查詢的
  • Go 語言中關于 goroutine 和 channel 的一些最佳實踐 目前的版本還比較早,所以代碼都不太復雜,建議大家可以從查詢的入口開始看起。

總結

以上都是我正經接觸過的項目,如果是想長期耕耘同時搞錢的話,推薦 StarRocks,目前也很火。

如果只是想提升在 Java 領域的水平,那推薦 Pulsar 和 OpenTelemetry,都有很多代碼最佳實踐。

如果想要入坑云原生和 Go 項目,那 cprobe 是比較合適的。

當然不管是哪個項目最主要的還是堅持,很多項目如果只是偶爾看一下很容易忘記,起碼要做到真正運行起來然后 debug 過代碼。

參考鏈接:

  • https://www.yuque.com/powerjob/guidence/wu2e93。
  • https://github.com/VictoriaMetrics/VictoriaMetrics/blob/master/lib/logstorage/storage_search.go。
  • https://crossoverjie.top/tags/OpenTelemetry/。
  • https://crossoverjie.top/2024/10/09/ob/StarRocks-dev-env-build/。
責任編輯:姜華 來源: crossoverJie
相關推薦

2019-08-15 14:33:26

2009-06-23 15:52:55

J2EE學習開源項目

2011-04-18 17:28:58

J2EE

2015-08-27 10:49:43

JavaScript開發框架

2023-11-13 07:54:54

.NET Core開源框架

2015-03-18 10:46:04

Android框架開源

2021-05-14 09:49:47

React HookReact應用

2015-11-17 09:35:26

開源學習框架

2023-03-29 09:03:36

開源前端

2020-12-08 08:28:22

開源heyui-adminGuns

2020-12-08 15:44:53

開源開發程序員

2013-04-07 10:40:55

前端框架前端

2024-09-18 06:20:00

2022-09-07 18:23:06

Permify開源

2024-03-20 10:59:37

開源

2022-08-02 15:18:00

React開源項目

2023-10-31 07:39:36

2014-03-17 10:10:58

CC++編程書籍

2018-02-04 22:29:21

iOS開發

2017-10-24 05:20:13

推薦系統數據算法
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文字幕一级 | 在线免费观看视频你懂的 | 色婷婷国产精品 | 亚洲 欧美 日韩 在线 | 啪视频在线| www.成人.com | 日韩精品不卡 | 国产成人网 | 国产在线a| 日日操夜夜干 | 欧美视频免费在线 | 日韩毛片 | 日韩精品成人网 | 欧美videosex性极品hd | 操网站 | 日韩91在线| 国产一级片在线观看视频 | 精品久久久久久久久久久久久 | 91电影 | 精精国产xxxx视频在线 | 九九99精品 | 久久中文字幕一区 | 黄色国产视频 | 中文字幕一区二区三区四区不卡 | 欧美午夜激情在线 | 国产精品一区二区在线 | 久久久久久久久久久久一区二区 | 成人欧美一区二区三区1314 | 日本在线视 | 精品国产第一区二区三区 | 色悠悠久| 国产激情在线播放 | 国产成人精品一区二区三区 | 精品人伦一区二区三区蜜桃网站 | 日韩欧美成人一区二区三区 | 日本一区二区视频 | 国产日韩精品视频 | 亚洲国产成人精品女人久久久 | 国产精品久久久久久婷婷天堂 | 国产精品一区免费 | 国产精品免费一区二区三区四区 |