国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

聊聊Spring Cloud Cli 初體驗

2024-07-14 08:39:46
字體:
來源:轉載
供稿:網友

SpringBoot CLI 是spring Boot項目的腳手架工具。而本文的Spring Cloud cli則是基于SpringBoot Client的一個插件,用于支持Cloud相關的組件。

由于各種原因,目前用起來并不是很爽:

  1. repo 經常連不上
  2. 啟動非常慢,要等半天
  3. 遇到問題排查不是很容易

但是,功能很有意思,值得期待。也許有一天變的像 docker swarm 那樣直接啟動分布式的服務,就完美了。

SpringBoot Client文檔: https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#getting-started-installing-the-cli

SpringCLoud Client 文檔: http://cloud.spring.io/spring-cloud-static/spring-cloud-cli/1.3.2.RELEASE/

組件倉庫:https://repo.spring.io/webapp/#/home

安裝springboot client

通用的安裝方式是下載編譯版,設置PATH環境變量即可。

下載如下的二進制包:

https://repo.spring.io/release/org/springframework/boot/spring-boot-cli/1.5.10.RELEASE/spring-boot-cli-1.5.10.RELEASE-bin.tar.gz

解壓并設置環境能量:

tar xvfz spring-boot-cli-1.5.10.RELEASE-bin.tar.gzcd spring-1.5.10.RELEASEexport PATH=$PATH:$PWD/bin

官網文檔還提供了其他sdkman、brew等安裝方式,你可能并不是對應的操作系統,也可能沒有對應的包管理器。因此個人不建議考慮,直接下載二進制包即可。

安裝cloud插件

默認spring命令并沒有cloud子命令:

$ spring cloud eureka'cloud' is not a valid command. See 'help'.

安裝spring cloud插件:

spring install org.springframework.cloud:spring-cloud-cli:1.4.1.BUILD-SNAPSHOT

默認插件會安裝在cli目錄的/lib/ext 子目錄中。

查看cloud子命令目前支持的組件:

$ spring cloud --listconfigserver dataflow eureka h2 hystrixdashboard kafka stubrunner zipkin

命令會實時查詢 http://repo.spring.io ,如果連接不上,悲催了。

啟動組件

在開發環境可快速啟動一個Eureka注冊中心:

$ spring cloud eureka

默認的端口是8761,訪問測試地址查看是否成功啟動:http://localhost:8761

如果啟動多個組件,直接寫多個組件名稱即可。如:

$ spring cloud eureka configserver h2 kafka zipkin

https://spring.io/blog/2016/11/02/introducing-the-spring-cloud-cli-launcher

各個服務默認的端口:

  1. eureka http://localhost:8761
  2. configserver http://localhost:8888
  3. h2 http://localhost:9095 (console), jdbc:h2:tcp://localhost:9096/{data}
  4. kafka http://localhost:9091 (actuator endpoints), localhost:9092
  5. hystrixdashboard http://localhost:7979
  6. dataflow http://localhost:9393
  7. zipkin http://localhost:9411

在獨立進程中啟動

默認情況下,同事時啟動多個組件時,會在同一個進程中啟動所有組件。即:

spring cloud --deployer=thin

如果你希望你在一個獨立的進程中啟動每一個組件,可以如下啟動:

spring cloud --deployer=local

應用profile

如果定義了profile,可以在啟動時指定激活的profile,如內建configserver配置了一個rabbit profile,用于設置啟用rabbit代替kafka。具體可查看源碼:

https://github.com/spring-cloud/spring-cloud-cli/blob/master/spring-cloud-launcher/spring-cloud-launcher-deployer/src/main/resources/cloud.yml

啟動方式:

spring cloud configserver -p rabbit

修改組件配置

如果希望定制某個組件的參數,可以創建一個配置文件,目錄可以是:

  1. 工作目錄
  2. 工作目錄中的 config/
  3. 用戶目錄中的 ~/.spring-cloud/

配置文件名為組件名,如: eureka.yml。 比如我們希望eureka的端口號為:1111,則創建 eureka.properties:

server: port: 1111

注意:文件擴展名必須是yml,不支持properties。

定制自己的組件

比如我自己創建了一個spring-boot-initializr組件,那么我們也可以把自己的組件加入到配置中,這樣也很方便的啟動。

在工作目錄創建:config/cloud.yml

spring: cloud:  launcher:   deployables:    initializr:     coordinates: com.pollyduan:springInitializr:1.0-M1     port: 7000     application-properties:      server.address: localhost

其中deployables中的屬性:initializr 表示自定義組件的名稱,coordinates 表示maven坐標,形式看起來是gradle的依賴格式,而 port比較好理解了,就是默認的端口。

檢查一下:

$ spring cloud --listinitializr configserver dataflow eureka h2 hystrixdashboard kafka stubrunner zipkin

返回的組件列表里多了一個 initializr,可以啟動試一下:

$ spring cloud initializr

訪問 http://localhost:7000 檢查一下吧。

這里說明一下,配置中的 application-properties 是配置了默認的application的屬性,會覆蓋原項目中的 application 配置信息。

配置組件小結

因此總結起來,配置一個組件的屬性有三中途徑:

  1. 在原項目的application中配置;
  2. 在 cloud.yml 重配置;
  3. 在 [module].yml 重配置。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 桐城市| 高要市| 鄂伦春自治旗| 永康市| 长垣县| 廊坊市| 二手房| 巴东县| 饶阳县| 本溪市| 泸西县| 晋城| 托里县| 安平县| 福鼎市| 郁南县| 洛南县| 若尔盖县| 炉霍县| 淮阳县| 宿迁市| 黄浦区| 甘肃省| 保德县| 安西县| 双辽市| 扬中市| 建水县| 布拖县| 沙雅县| 武义县| 宝坻区| 瓦房店市| 芦溪县| 曲阳县| 黄龙县| 霞浦县| 增城市| 阿克| 上高县| 绥芬河市|