1. 程式人生 > >SpringCloud微服務腳手架

SpringCloud微服務腳手架

SpringCloud微服務腳手架

腳手架原始碼

callELPSYCONGROO/microservice-scaffolding

master分支沒有使用,eureka + zuul 版本的腳手架在其對應的分支上。

先上原始碼,下面有一小段吐槽,後面才是介紹,其實這個介紹就是README,也可以直接進專案裡面看。

吐個槽

好久都沒有寫部落格了。自從今年換了工作以來,每天幾乎都是12點過以後睡覺,天天都在不停的寫程式碼,學習,漲姿勢。

年初進公司的時候,給我一個任務,搞一個公司可用的時序資料庫出來,當時選定了InfluxDB,於是花了一個多月,硬學了golang,寫了個粗糙的不行的主從同步(主要是叢集版的要收費)。完了轉正的時候,說我工作沒輸出???我一個搞Java的,雖然說開發語言都是相通的,但是這些都是工作成功啊。唉,苦逼,沒的話說,就是公司拿這個來壓工資的吧。

順便安利一波之前寫的InfluxDB的文章。貌似真的是好久以前的事情啦,哈哈哈。

腳手架

為什麼要搞這個腳手架呢?

之前學習SpringCloud框架的時候,看到兩個大佬寫的非常好,一個是純潔的微笑還有一個是方誌鵬的部落格。感覺自己也應該做點什麼,主要是膜拜大佬為新玩家做點貢獻。

有一次跟別的公司的技術leader開會,老闆讓我們去漲漲姿勢的,雖然技術沒學到什麼,但是名次倒是聽了不少。其中就聽到了 腳手架 這個詞。之前開發過兩次vuejs,用的都是腳手架直接搭建專案,於是就有了這麼一個想法,也搞一套微服務系統的腳手架出來。老闆一直都要求我們快速開發什麼的,可能我相岔了吧,於是就準備搞個微服務系統框架的腳手架出來。

功能

主要有以下幾個模組:

  • eureka註冊中心

  • zuul閘道器

  • SpringBoot Admin監控

  • demo service 服務

eureka 註冊中心

常規註冊中心,未做叢集配置,叢集註冊中心暫時不穩定


zuul 閘道器

閘道器中ErrorHandlerController配合ErrorFilter處理了閘道器層ZuulException的處理,可以將其轉換為自定義結果返回。

RequestPathFilter可以進行請求路徑攔截,攔截非法請求。

同時,閘道器層集成了swagger文件統一配置,可以直接訪問閘道器層swagger地址,訪問到內部所有服務的swagger文件。


SpringBoot Admin 監控

可以傳送郵件通知


demo service 服務

Mybatis + Druid + PageHelper + MySql。

配置了FeignClient,服務熔斷。

javax.validation的異常使用統一異常處理進行處理,封裝為自定義響應。


未完待續