服務名在微服務中起着相當重要的位置,一個好的服務名應該見名知意。下面是筆者在工做中總結的規範。java
例如:user-api
spring
第一級 服務名api
第二級 服務類型app
將組名放到第一位,方便快速定位到技術組。ide
例如:mica-user-api
微服務
第一級 組名單元測試
第二級 服務名學習
第三級 服務類型測試
啓動器的使命就是讓咱們的 jar 在各類環境中均可以方便啓動,不用添加過多的配置,減小學習成本,能快速上手。ui
dev(開發)、test(測試)、ontest(線上測試)、prod(正式),默認dev
java -jar app.jar --spring.profiles.active=dev
set JAVA_OPTS="-Dspring.profiles.active=test"
@ActiveProfiles({"junittest","productprofile"})
系統環境變量 SPRING_PROFILES_ACTIVE(注意:是大寫)
使用起來比原生的 spring boot
啓動器裏多了一個服務名參數,微服務中服務名對一個服務特別重要,故在啓動器啓動時寫死。
net.dreamlu mica-launcher
implementation "net.dreamlu:mica-launcher"
{ ([] ) { .(, ., ); } }
注意:使用了 mica-launcher
啓動器,須要結合 mica-test
進行單元測試,具體文章請查看 mica test 單元測試。
代碼中能夠採用注入 MicaProperties
來讀取啓動器中的一些變量,好比 env
等。
mica.prop
能夠在配置文件中自定義配置
。而後再在代碼中使用 MicaProperties
讀取。
配置項 | 默認值 | 說明 |
mica.env | dev | 【只讀】mica 環境變量,方便在代碼中獲取,設置無效. |
mica.is-local | false | 【只讀】判斷是否爲 本地開發環境 |
mica.prop | 無 | 裝載自定義配置 mica.prop.xxx |
如夢技術 https//www.dreamlu.net
; () { .(); .(); }
啓動器的主要目的是能更加方便的去注入一些通用配置,下降使用難度。mica-log4j2
就是一個啓動器的擴展。
插件擴展基於 java SPI 技術,關於 java SPI 具體使用能夠百度。
下面是 LauncherService 的代碼。
{ ( , , , , ); }
文件路徑和文件名 META-INF/services/net.dreamlu.mica.launcher.LauncherService
。
內容爲你編寫的插件完整類名,例如:net.dreamlu.mica.log.LogLauncherServiceImpl
。