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: devapplication:name: jeecg-systemcloud: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: devapplication:name: jeecg-democloud: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的端口保持一致

十分钟搞定JeecgBoot 单体升级微服务!相关推荐

  1. JeecgBoot 单体升级微服务快速方案(十分钟搞定)

    JeecgBoot 单体升级微服务方案(十分钟搞定) 当前系统分为system.demo 等模块,现有需求把每个模块单独启动作为微服务应用,故而推出新版boot[20200812beta],支持快速切 ...

  2. JeecgBoot单体升级微服务之二

    前言 这篇文章咱们继续单体升级微服务的过程 先说下网络下载慢问题 我用的是5G的网络 通过测速工具测速 下载速度可以达到6M/秒左右 但下载速度怎么还没鱼哦

  3. JeecgBoot单体升级微服务之一

    Nacos安装 1.下载镜像docker pull nacos/nacos-server 2.启动镜像docker run -d -p 8848:8848 --env MODE=standalone ...

  4. java 分组报表_【Java】分组报表怎么做,积木报表十分钟搞定!

    首页 专栏 java 文章详情 0 分组报表怎么做,积木报表十分钟搞定! scott发布于 今天 12:24 报表需求 某大型超市需要做一张年度区域销售统计报表 展示2019和2020年度各地区每月的 ...

  5. 逗号后面统一加空格_十分钟搞定字幕,教你做加字幕的“快手菜”

    平台上许多同学有疑问:做视频是否有加字幕的必要呢? 其实除了外语需要翻译.语速过快加字幕方便理解.普通话不标准等情况之外,还是建议有余力的同学可以加上字幕,提升用户的观看体验. 那么问题来了,存在以下 ...

  6. 全网最简单的C# json数据解析 无敌菜鸟教程 十分钟搞定json数据解析

    全网最简单的C# json数据解析 无敌菜鸟教程 十分钟搞定json数据解析 废话先说一点,算了.直接进入正题吧. 用例子说话: JSON数据: string json: " {" ...

  7. JAVA微信企业付款到零钱(十分钟搞定),附完整DEMO下载

    最近帮朋友做了一个简单的微分销系统,实现从企业付款到零钱分润的功能,简单记录一下微信提现功能开发的流程, 主要就是按规则封装好请求参数调用微信接口,涉及一些签名校验: A.接口流程 获取用户OPENI ...

  8. java零钱换整程序_JAVA微信企业付款到零钱(十分钟搞定),

    JAVA微信企业付款到零钱(十分钟搞定), 最近帮朋友做了一个简单的微分销系统,实现从企业付款到零钱分润的功能,简单记录一下微信企业付款到零钱的开发过程, 主要就是按规则封装好请求参数调用微信接口,涉 ...

  9. mfc远程连接mysql数据库连接_MFC连接mysql数据库(十分钟搞定)

    最近要做一个大作业,需要用到数据库,sql server装了两次都失败,遂弃暗投明,用mysql,虽然我从来没有接触过,数据库么,一通百通的,5分钟就熟悉了.问题的关键是要用MFC连接mysql数据库 ...

最新文章

  1. 运维企业专题(5)LVS高可用与负载均衡中篇——VS/DR模式配置详解
  2. CocoStudio 1.3和1.4.1导入Flash文件注意事项(转载并有修改)
  3. 熟悉交换机与路由器组网(图解)
  4. python先序、中序、后序排序
  5. python框架django入门_web框架之Django(python3入门)
  6. controller 和 Action 之间的区别
  7. 结构化编程:不确定迭代循环控制do while
  8. mysql root用户可以同时几个人连接_重学MySQL系列(四):10分钟快速掌握MySQL用户与权限管理
  9. [BUUCTF]REVERSE——相册
  10. 手机系统S40 S60 是什么意思?
  11. document.querySelector()方法
  12. 修改 exchange服务器地址,绑定exchange邮箱服务器地址
  13. 个人邮箱怎么注册,商业人士用哪个邮箱最好?
  14. php doctrine 使用,php – Doctrine 2 – 多数据库配置和使用
  15. 2023年全国最新二级建造师精选真题及答案49
  16. nmon在linux应用
  17. 深度学习21_李宏毅_08_CNN
  18. \t\t开心学国学(转载)
  19. python爬取中国天气网中国全部城市的天气链接
  20. python第三章实操作业

热门文章

  1. 便携式计算机推销洽谈方案,推销洽谈的方法
  2. python中的threading_Python中Threading用法详解
  3. 前端基础-html-路径的介绍
  4. 前端基础-html-标题标签
  5. PyTorch之torch.nn.Softmax()
  6. Python print和pprint两者的区别
  7. Redis 哨兵模式
  8. 初识联邦学习(Federated learning)
  9. 编写可测试的JavaScript代码
  10. mysql8 修改root密码