JeecgBoot自開源來被問最多的就是微服務版本什么時間出呢??微服務是個趨勢,特別隨著中臺概念的興趣,每個公司對微服務的需求都很迫切。針對大家的需求,我們推出了Jeecg-Cloud版本采用的SpringCloud Alibaba體系!! 但是同時維護兩套代碼,對我團隊來講維護成本太高,為了減少維護成本,也為了讓用戶有智能的選擇,故而推出新版JeecgBoot 2.3,我們特意制作了單體和微服務自由切換機制,一套代碼可以輕松切換單體、微服務。
當前新版JeecgBoot 2.3平臺默認提供了 system、demo 等模塊,可以快速把每個模塊單獨啟動作為微服務應用,切換成cloud。
本項目采用SpringCloud Alibaba技術棧為:
- 服務注冊:nacos
- 配置中心:nacos-config
- 理由網關: gateway
- 服務間調用:openfeign
- 熔斷和降級:sentinel
- 服務監控:Spring Boot Admin
下面是單體快速升級微服務方案:
一、升級system模塊為獨立服務
1.將system項目的pom文件中的其他模塊的依賴刪除,只保留local-api

2.system項目作為微服務啟動,需要添加微服務依賴
<!-- 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>
<!-- 服務降級 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
</dependency>
3.在resource文件夾下新建bootstrap.yml,內容如下:
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
二、升級其他模塊為獨立服務(例如demo模塊)
以demo為例:
1.修改pom,將local-api修改成cloud-api

<dependency>
<groupId>org.jeecgframework.boot</groupId>
<artifactId>jeecg-system-cloud-api</artifactId>
</dependency>
2.添加配置文件bootstrap.yml(如果沒有),內容如下:
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(如果沒有),內容可以直接復制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 運行每個模塊的啟動類 測試微服務。
三、啟動Nacos
微服務集成Nacos服務注冊發現
docke安裝nacos文檔: https://nacos.io/zh-cn/docs/quick-start-Docker.html
1.啟動nacos,訪問localhost:8848/nacos 賬號密碼 都是nacos,查看服務列表

2.啟動system、demo,再查看服務列表

四、啟動gateway
啟動類: org.jeecg.JeecgGatewayApplication

查看在線接口文檔: http://127.0.0.1:9999/doc.html

五、啟動前端
前端項目找到文件public/index.html,修改后臺服務為 gateway地址 修改地址:window._CONFIG['domianURL'] = 'http://127.0.0.1:9999,其中端口號 9999和gateway的端口保持一致
