JeecgBoot自開源來被問最多的就是微服務(wù)版本什么時間出呢??微服務(wù)是個趨勢,特別隨著中臺概念的興趣,每個公司對微服務(wù)的需求都很迫切。針對大家的需求,我們推出了Jeecg-Cloud版本采用的SpringCloud Alibaba體系!! 但是同時維護(hù)兩套代碼,對我團(tuán)隊來講維護(hù)成本太高,為了減少維護(hù)成本,也為了讓用戶有智能的選擇,故而推出新版JeecgBoot 2.3,我們特意制作了單體和微服務(wù)自由切換機(jī)制,一套代碼可以輕松切換單體、微服務(wù)。
當(dāng)前新版JeecgBoot 2.3平臺默認(rèn)提供了 system、demo 等模塊,可以快速把每個模塊單獨(dú)啟動作為微服務(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ù)方案:
一、升級system模塊為獨(dú)立服務(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: dev
Application:
name: jeecg-system
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
feign:
sentinel:
enabled: true
4.修改dev配置文件,刪除截圖中兩處配置
5.啟動類添加注解:@EnableDiscoveryClient
二、升級其他模塊為獨(dú)立服務(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: dev
application:
name: jeecg-demo
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8848
feign:
sentinel:
enabled: true
3.新增配置文件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 運(yùn)行每個模塊的啟動類 測試微服務(wù)。
三、啟動Nacos
微服務(wù)集成Nacos服務(wù)注冊發(fā)現(xiàn)
docke安裝nacos文檔: https://nacos.io/zh-cn/docs/quick-start-Docker.html
1.啟動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的端口保持一致