日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

天堂2开源java,关于这 2 年来,做开源项目的一些感慨

發布時間:2024/8/1 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 天堂2开源java,关于这 2 年来,做开源项目的一些感慨 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2 年了,一個開源項目 從最初的想法一點點迭代,到現在有了一點點用戶, 從一開始的一個項目,變成了現在擁有微服務組件和網關組件的 微型生態,一路上,真是歷經苦難。有質疑,有鼓勵,有嘲諷。

有時候我真的在想,要不要就此打住,放棄維護算了,項目就掛在那,喜歡的就看一看,學一學姜太公,愿者上鉤,我也落個輕松,但是總感覺有點可惜吧,畢竟是花了大量心血做的。

說起為什么要做這個項目,我或許已經記不清了,我只記得一開始并沒有打算做這個東西,我只是想驗證一下我對 springboot 的原理理解的對不對,于是我就嘗試著自己去實現一個類似的框架。當我實現了基礎功能后,我居然舍不得刪除這份代碼,所以就放到了 github 上托管, 那個時候也完全沒有開源的想法,就是把 github 當成一個存放代碼的網盤了。 沒有開源協議,沒有 readme,連代碼結構也是一團糟。

這份代碼就這樣保存了下來,但是我每次閑下來都會不由自主的在腦海里盤算著,哪里寫的不夠好,哪里可以再優化一下,目錄結構是否可以更優雅一點,細節是否可以再打磨一下等, 每次想到一些東西,就會去維護一下,然后樂在其中, 正是因為這樣的維護,讓這份代碼變得越來越健壯,于是就有了分享給大家看看的想法。所以我做起了官網,開始在一些技術群里分享,但是得到的反饋卻不太友好,幾乎是清一色的嘲諷,質疑。大部分的嘲諷都集中在 [沒新意,個人項目太垃圾等] ,每次面對這些嘲諷,我都在想,怎樣才能讓大家接受且愿意嘗試下,而不是看了個文章介紹,就立刻否定了,所以我拼命的去優化我的代碼,去加入一些新特性(或許不是新特性,因為每一個特性,都能在世界上找到包含此特性的項目)

就這樣,

我將 controller 改成了 聲明式 API,

自己開發了 [半 ORM ] 省去了集成 mybatis 的麻煩,

提供注解式參數校驗,注解式 redis 鎖,

對服務端的異常也做了出了封裝,使其不必返回 500,而是一個 json,避免每個接口都加 try-catch 。

同時依然保留著 最初的 AOP,IOC,聲明式事務

可以說完成了一次 集小成,一個項目就可以提供 中小型項目開發中常用的一些功能點。但是反應還是一般般,無人問津,沒有人在意這是一個什么東西,每次的分享,都是一次被噴大會。不過其中也不乏一些理智的人,他們會理智的說出一些自己的看法,這給了我很大的幫助,我也非常感謝他們。

事情到了這一步,我也可以說是騎虎難下了,投入了這么多,總不能放棄吧,我只有硬著頭皮往前走,我不斷的去思考,到底是什么原因讓大家不愿意嘗試呢? 可能 [個人項目] 這個標簽,本身就是原罪吧,也可能是我提供的生態不夠,所以我做出了如下計劃:

再一次的給項目減肥,丟掉一些在我能力范圍內,可以替代的三方依賴

開發微服務組件,網關組件 來豐富生態

再一次的去優化文檔,官網等,盡量體現出 這是一個用了心的項目 和 專業感

所以,tomcat 沒了,直接采用了 HttpServer (在 JDK8-JDK14 上都測試過,都沒問題), 不需要注冊中心的微服務組件也開始投入了開發,網關也提上了日程,同時官網和文檔日漸完善,我甚至找專業的人設計了 logo (我自己覺得挺好看的)

經歷了 2 年的時間,這些都已經成為了現實,有了微服務組件,有了網關組件,有了自己的 logo,官網也比以前好看了很多,文檔也比以前清爽簡潔。

與此同時,也出現了另一個問題,項目的高度集成化,使得擴展性不夠,比如 HttpServer 不好的時候,可否切換到 tomcat ? 微服務的熔斷器,負載均衡 是否可以 插拔,甚至讓用戶自己開發? 用戶是否可以自己開發組件?所以,接下來的一段時間,我開始了這個方向的優化, 到現在為止,都已經實現了,但是還存在一些問題:

tomcat 啟動器還沒來得及優化,只能用默認的 tomcat 配置啟動

如果不想用 HttpServer,那么目前只能切到 tomcat 啟動器,但是用戶可以自己開發啟動器,我提供了 API

熔斷器雖然可插拔,但是還沒開發自己的熔斷器

負載均衡可插拔,目前官方只提供了兩種算法 [普通隨機,普通輪詢]

用戶雖然可以自己開發組件,但是官方組件還是太少

接下來的工作重點,我會放在優化這幾個點上。 至于更加長遠的計劃,那肯定是無限的向企業級開發靠攏,爭取讓他可以勝任大型項目。

2 年來,不斷地優化,試錯,面對各種嘲諷,早已成為習慣,總之我知道自己在干嘛就好了,即使無人問津也沒關系,起碼我可以從這件事中 學到一些東西,體會到一些東西,這也是一種價值吧,就像回歸初心一般,我一開始僅僅只是為了驗證我對 springboot 的原理理解的對不對,我只是樂在其中,其他的一切雜念,就讓它煙消云散吧。

哦對了,這個項目叫 Martian?http://mars-framework.com/

總結

以上是生活随笔為你收集整理的天堂2开源java,关于这 2 年来,做开源项目的一些感慨的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。