【發佈】DDD 工程腳手架 + 一鍵安裝分佈式技術棧環境!

作者:小傅哥

博客:https://bugstack.cn

沉澱、分享、成長,讓自己和他人都能有所收穫!😄

大家好,我是技術UP主小傅哥。

寫了那麼多案例工程,開發了那麼多技術項目。那小傅哥做的這些案例和項目是每一個都要手動創建一遍嗎?🤔 如果不是一個個都手動創建,那麼有什麼提效工具嗎?

不用,根本不用。因爲小傅哥有一套神器

對於 DDD 項目的多模塊化工程搭建,其實真的是一個挺耗時的工作,尤其是分佈式工程的搭建更是耗時。不過工程模塊的創建還不算太耗時,主要耗時在各個分佈式組件的整合使用上,包括;MySQL、Redis、RocketMQ、Dubbo、shardingjdbc、XXL-JOB 等一堆技術框架。如果你做過這樣的事情,一定會被他們的使用和各類版本的配合,折騰過服服帖帖。

一次工程和環境搭建,沒有個6~8小時都搞不完!但今天我想你動動手指就搞定這些!

那麼,接下來小傅哥就介紹下這套帶有配套環境安裝的工程腳手架,讓小夥伴可以熟悉使用,快速搭建自己的學習工程。

文末有相關工程腳手架的獲取地址,還有對應工程腳手架的學習項目。

一、效果展示

這是一套完整的工程級框架搭建標準,提供工程的腳手架搭建以及對應的完整環境初始化。可以讓開發項目的夥伴,快速🔜完成基本工作,減少6~8小時的折騰。先來展示下整體教授的內容。

1. 工程框架

2. 環境展示

3. Redis 管理

4. MySql 管理

5. MQ 管理

6. JOB 管理

二、框架介紹

小傅哥這裏提供了2套工程腳手架,一套輕量版的無任何分佈式技術棧的使用,另外一套是標準版的全系使用分佈式技術棧。因爲很多小型項目並需要依賴太多的分佈式技術棧,而且輕量化的設計開發更能有效的提高開發效率。所以,讀者可以按需選擇你需要的腳手架進行學習、驗證和生產。

1. 輕量版

輕量版 DDD 框架,主要以提供 HTTP 服務爲主。開發效率高,適合中小業務場景。

  • 緩存,使用 Guava。如果有特定場景的情況下,可以補充 Redis 使用。
  • 任務,使用 Quartz。
  • 消息,使用 Spring/Guava 替代。

2. 標準版

標準版 DDD 架構,以解決中大型場景業務開發爲目的,綜合使用分佈式技術棧進行項目構建。

  • Dubbo 提供 RPC 接口,Nacos 作爲註冊中心使用。
  • Redis 提供緩存、加鎖、數據處理服務。
  • SharedingJdbc 提供分庫分表服務。
  • XXL-JOB 提供分佈式任務調度服務。
  • RocketMQ 提供異步消息服務。

三、使用說明

這套腳手架使用了 maven-archetype-plugin 使用命令(archetype:create-from-project)進行工程的腳手架創建,創建後在進行一些內容的修改,最終完成腳手架的模板。

讀者在使用這套腳手架的時候,可以在本地下載工程代碼後,進入工程下的 scaffold-lite/std 模塊執行 README.md 中 mvn clean install 腳本進行安裝。安裝後即可在使用 IntelliJ IDEA 創建工程時候,選擇 Maven 創建,添加本地倉庫地址使用。—— 下面👇🏻會介紹具體操作步驟。

1. 工程結構

如圖,就是兩套 DDD 腳手架工程,每一套工程下,都有一個 scaffold 模塊。這部分是對當下對應工程的腳手架模塊。另外 docs 下有 dev-ops 文件夾,是環境安裝包,直接執行 docker-compose.yml 即可一次安裝完全部環境。

讀者,在使用的時候,也可以先不看 scaffold 模塊。因爲除了這個模塊外,其他的就是整個 DDD 工程,作爲你最開始熟悉使用。熟悉後在進入”黑圈“ README.md 中執行 mvc clean install 這樣就能在本地 maven 倉庫安裝上腳手架了。

2. 框架安裝

2.1 安裝

  • 進入工程腳手架模塊下的 README.md 點擊執行 mvn clean install

2.2 配置

  • 首先是點擊創建工廠,之後進入 Maven Archetype 下。
  • 之後你需要自己配置好 maven 工程腳手架地址,有可能默認的路徑地址,不生效。

2.3 使用

  • 進入 Maven Archetype 如圖方式創建工程。

2.4 效果

  • 自動生成工程,之後你就可以通過 docs 文件件下的 docker-compose.yml 安裝環境並使用了。注意本機已安裝了 Docker

3. 環境安裝

文件:docs/dev-ops/docker-compose.yml

四、項目學習

有了工程腳手架,最好再有一套對應的實戰項目學習。這樣加起來鍛鍊,看看各個項目的模塊都是如何調度的,才能更好的學習這套工程。而小傅哥的 DDD:實戰項目 就有這樣目鍛鍊,包括:OpenAi 應用項目、Lottery 抽獎項目、Api網關項目、IM通信項目、SpringBoot Starter 組件項目等。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章