十分钟搞定JeecgBoot 单体升级微服务

JeecgBoot自开源来被问最多的就是微服务版本什么时间出呢??微服务是个趋势,特别随着中台概念的兴趣,每个公司对微服务的需求都很迫切 。针对大家的需求,我们推出了Jeecg-Cloud版本采用的SpringCloud Alibaba体系!! 但是同时维护两套代码,对我团队来讲维护成本太高,为了减少维护成本,也为了让用户有智能的选择,故而推出新版JeecgBoot 2.3,我们特意制作了单体和微服务自由切换机制,一套代码可以轻松切换单体、微服务 。
当前新版JeecgBoot 2.3平台默认提供了 system、demo 等模块,可以快速把每个模块单独启动作为微服务应用,切换成cloud 。
【十分钟搞定JeecgBoot 单体升级微服务】本项目采用SpringCloud Alibaba技术栈为:
  • 服务注册:nacos
  • 配置中心:nacos-config
  • 理由网关: gateway
  • 服务间调用:openfeign
  • 熔断和降级:sentinel
  • 服务监控:Spring Boot Admin
下面是单体快速升级微服务方案:一、升级system模块为独立服务1.将system项目的pom文件中的其他模块的依赖删除,只保留local-api
十分钟搞定JeecgBoot 单体升级微服务

文章插图
 
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: devApplication:name: jeecg-systemcloud:nacos:discovery:server-addr: 127.0.0.1:8848feign:sentinel:enabled: true4.修改dev配置文件,删除截图中两处配置
十分钟搞定JeecgBoot 单体升级微服务

文章插图
 
5.启动类添加注解:@EnableDiscoveryClient二、升级其他模块为独立服务(例如demo模块)以demo为例:
1.修改pom,将local-api修改成cloud-api
十分钟搞定JeecgBoot 单体升级微服务

文章插图
 
<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:8848feign:sentinel:enabled: true3.新增配置文件application-dev.yml(如果没有),内容可以直接复制system下的同名文件,需要修改端口号
十分钟搞定JeecgBoot 单体升级微服务

文章插图
 
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@EnableFeignClientspublic 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.html1.启动nacos,访问localhost:8848/nacos 账号密码 都是nacos,查看服务列表
十分钟搞定JeecgBoot 单体升级微服务

文章插图
 
2.启动system、demo,再查看服务列表
十分钟搞定JeecgBoot 单体升级微服务

文章插图
 
四、启动gateway启动类: org.jeecg.JeecgGatewayApplication
十分钟搞定JeecgBoot 单体升级微服务

文章插图
 
查看在线接口文档: http://127.0.0.1:9999/doc.html
十分钟搞定JeecgBoot 单体升级微服务

文章插图
 
五、启动前端前端项目找到文件public/index.html,修改后台服务为 gateway地址 修改地址:window._CONFIG['domianURL'] = 'http://127.0.0.1:9999,其中端口号 9999和gateway的端口保持一致


推荐阅读