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:8848feign: 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:8848feign: 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@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.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的端口保持一致