JeecgBoot 单体升级微服务快速方案(十分钟搞定)
JeecgBoot 單體升級微服務方案(十分鐘搞定)
當前系統分為system、demo 等模塊,現有需求把每個模塊單獨啟動作為微服務應用,故而推出新版boot【20200812beta】,支持快速切換成cloud,本項目cloud技術棧為:
- 服務注冊:nacos
- 配置中心:nacos-config
- 網關:springcloud-gateway
- 服務間調用:openfeign
文章目錄
- JeecgBoot 單體升級微服務方案(十分鐘搞定)
- 一、升級system模塊為獨立服務
- 1.將system項目的pom文件中的其他模塊的依賴刪除,只保留local-api
- 2.system項目作為微服務啟動,需要添加微服務依賴
- 3.在resource文件夾下新建bootstrap.yml,內容如下:
- 4.修改dev配置文件,刪除截圖中兩處配置
- 5.啟動類添加注解:`@EnableDiscoveryClient`
- 二、升級其他模塊為獨立服務(例如demo模塊)
- 1.修改pom,將local-api修改成cloud-api
- 2.添加配置文件bootstrap.yml(如果沒有),內容如下:
- 3.新增配置文件application-dev.yml(如果沒有),內容可以直接復制system下的同名文件,需要修改端口號
- 4.在org.jeecg包下新建啟動類(如果沒有)
- 三、微服務集成Nacos服務注冊發現
- 1.啟動nacos,訪問`localhost:8848/nacos` 賬號密碼 都是nacos,查看服務列表
- 2.啟動system、demo,再查看服務列表
- 3.啟動gateway
一、升級system模塊為獨立服務
1.將system項目的pom文件中的其他模塊的依賴刪除,只保留local-api
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-LG6QwOO7-1597802895637)(images/screenshot_1597402774325.png)]
2.system項目作為微服務啟動,需要添加微服務依賴
<!-- nacos --> <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency>3.在resource文件夾下新建bootstrap.yml,內容如下:
spring:profiles:active: devapplication:name: jeecg-systemcloud:nacos:discovery:server-addr: 127.0.0.1:88484.修改dev配置文件,刪除截圖中兩處配置
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-4SrlFeWJ-1597802895641)(images/screenshot_1597570291088.png)]
5.啟動類添加注解:@EnableDiscoveryClient
二、升級其他模塊為獨立服務(例如demo模塊)
以demo為例:
1.修改pom,將local-api修改成cloud-api
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-rMOiilMF-1597802895643)(images/screenshot_1597403237245.png)]
<dependency><groupId>org.jeecgframework.boot</groupId><artifactId>jeecg-system-cloud-api</artifactId> </dependency>2.添加配置文件bootstrap.yml(如果沒有),內容如下:
spring:profiles:active: devapplication:name: jeecg-democloud:nacos:discovery:server-addr: 127.0.0.1:88483.新增配置文件application-dev.yml(如果沒有),內容可以直接復制system下的同名文件,需要修改端口號
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-QfE4LYpC-1597802895646)(images/screenshot_1597403472075.png)]
4.在org.jeecg包下新建啟動類(如果沒有)
package org.jeecg;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.cloud.openfeign.EnableFeignClients;import java.net.UnknownHostException;@SpringBootApplication @EnableDiscoveryClient @EnableFeignClients public class JeecgDemoApplication {public static void main(String[] args) throws UnknownHostException {SpringApplication.run(JeecgDemoApplication.class, args);} }上述步驟完成 即可啟動nacos 運行每個模塊的啟動類 測試微服務。
三、微服務集成Nacos服務注冊發現
1.啟動nacos,訪問localhost:8848/nacos 賬號密碼 都是nacos,查看服務列表
2.啟動system、demo,再查看服務列表
3.啟動gateway
#備注:前后端交互需要修改一些配置、
1.每個服務yml配置中有個屬性 context-path: /jeecg-boot,服務化后需要修改成/,或者直接刪除該配置
2.前端項目找到文件public/index.html
修改地址:window._CONFIG['domianURL'] = 'http://127.0.0.1:9999,其中端口號 9999和gateway的端口保持一致
3. 跨域設置,此設置可以忽略,文檔留作記錄
總結
以上是生活随笔為你收集整理的JeecgBoot 单体升级微服务快速方案(十分钟搞定)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 低代码开发平台有哪些?
- 下一篇: java 对字符串中的数值排序