十分钟搞定JeecgBoot 单体升级微服务!
JeecgBoot自開源來被問最多的就是微服務(wù)版本什么時間出呢??微服務(wù)是個趨勢,特別隨著中臺概念的興趣,每個公司對微服務(wù)的需求都很迫切。針對大家的需求,我們推出了Jeecg-Cloud版本采用的SpringCloud Alibaba體系!!
但是同時維護兩套代碼,對我們團隊來講維護成本太高,為了減少維護成本,也為了讓用戶有智能的選擇,故而推出新版JeecgBoot 2.3,我們特意制作了單體和微服務(wù)自由切換機制,一套代碼可以輕松切換單體、微服務(wù)。
當(dāng)前新版JeecgBoot 2.3平臺默認提供了 system、demo 等模塊,可以快速把每個模塊單獨啟動作為微服務(wù)應(yīng)用,切換成cloud。
本項目采用SpringCloud Alibaba技術(shù)棧為:
- 服務(wù)注冊:nacos
- 配置中心:nacos-config
- 理由網(wǎng)關(guān): gateway
- 服務(wù)間調(diào)用:openfeign
- 熔斷和降級:sentinel
- 服務(wù)監(jiān)控:Spring Boot Admin
視頻教程 :>>單體升級微服務(wù)視頻教程
下面是單體快速升級微服務(wù)方案:
一、升級system模塊為獨立服務(wù)
1.將system項目的pom文件中的其他模塊的依賴刪除,只保留local-api
2.system項目作為微服務(wù)啟動,需要添加微服務(wù)依賴
<!-- nacos --> <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> <!-- 如果走配置中心需要添加此依賴 --> <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency><!-- 服務(wù)降級 --> <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-sentinel</artifactId> </dependency>3.在resource文件夾下新建bootstrap.yml,內(nèi)容如下:
spring:profiles:active: devapplication:name: jeecg-systemcloud:nacos:discovery:server-addr: 127.0.0.1:8848 feign:sentinel:enabled: true4.修改dev配置文件,刪除截圖中兩處配置
5.啟動類添加注解:@EnableDiscoveryClient
二、升級其他模塊為獨立服務(wù)(例如demo模塊)
以demo為例:
1.修改pom,將local-api修改成cloud-api
<dependency><groupId>org.jeecgframework.boot</groupId><artifactId>jeecg-system-cloud-api</artifactId> </dependency>2.添加配置文件bootstrap.yml(如果沒有),內(nèi)容如下:
spring:profiles:active: devapplication:name: jeecg-democloud:nacos:discovery:server-addr: 127.0.0.1:8848 feign:sentinel:enabled: true3.新增配置文件application-dev.yml(如果沒有),內(nèi)容可以直接復(fù)制system下的同名文件,需要修改端口號
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 運行每個模塊的啟動類 測試微服務(wù)。
三、啟動Nacos
微服務(wù)集成Nacos服務(wù)注冊發(fā)現(xiàn) docke安裝nacos文檔: https://nacos.io/zh-cn/docs/quick-start-docker.html1.啟動nacos,訪問localhost:8848/nacos 賬號密碼 都是nacos,查看服務(wù)列表
2.啟動system、demo,再查看服務(wù)列表
四、啟動gateway
啟動類: org.jeecg.JeecgGatewayApplication
查看在線接口文檔: http://127.0.0.1:9999/doc.html
五、啟動前端
前端項目找到文件public/index.html,修改后臺服務(wù)為 gateway地址
修改地址:window._CONFIG[‘domianURL’] = 'http://127.0.0.1:9999,其中端口號 9999和gateway的端口保持一致
總結(jié)
以上是生活随笔為你收集整理的十分钟搞定JeecgBoot 单体升级微服务!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nyoj-491--幸运三角形--简单深
- 下一篇: nyoj-205--求余数--(大整数取