单体升级为微服务

最后更新于:2022-04-02 07:10:01

# JeecgBoot 单体改为微服务 >[info] Version: 2.4+以上版本 | 20201201 *示例:将模块 system、demo ,快速切换成 SpringCloud微服务方式启动* **目录:** [TOC] ## 一、配置host ``` 127.0.0.1 jeecg-boot-redis 127.0.0.1 jeecg-boot-mysql 127.0.0.1 jeecg-boot-rabbitmq 127.0.0.1 jeecg-boot-nacos 127.0.0.1 jeecg-boot-gateway 127.0.0.1 jeecg-boot-system 127.0.0.1 jeecg-boot-xxljob ``` ## 二、放开微服务注释 修改 jeecg-boot根目录下的pom文件,将此处的注释打开 ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/55/0f/550fcf4a5a5f245245910c0e0773a247_614x182.png) ## 三、启动Nacos * a. 创建nacos的数据库,需要执行 [Nacos脚本](https://gitee.com/jeecg/jeecg-boot/blob/master/jeecg-boot/db/tables_nacos.sql) ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/e4/fa/e4fa740b5e9063ea83050ea350c4b29f_365x218.png) * b.启动nacos服务 找到项目 jeecg-cloud-module/jeecg-cloud-nacos,右键执行类com.alibaba.nacos.JeecgNacosApplication ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/39/9e/399e2761547622d23a0bee52301eb16a_1746x506.png) * c.访问nacos地址 地址:http://127.0.0.1:8848/nacos(账号密码都是nacos) 默认所需配置已初始化好 ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/44/81/448124e51cc8f28ecda373150fead760_1635x382.png) 经常需要改的配置在jeecg-dev.yaml,可以自己调整相关参数,也可以创建多个模式配置jeecg-{模式}.yaml。 ## 四、启动jeecg-system服务 * 1.注释system项目的pom中demo的引入依赖 将 jeecg-boot-module-system/pom.xml 中的 demo 依赖注释掉 或者 删掉 ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/f6/0e/f60ed2287fdf7cad92150b812ab26658_549x223.png) * 2.修改打包配置 修改 jeecg-boot-module-system/pom.xml 文件中spring-boot-maven-plugin 打包插件configuration.skip=true ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/1e/c0/1ec0ea5318e1d1c4045469bba0475c16_1222x624.png) * 3. 启动system微服务 (jeecg-cloud-system-start) 找到jeecg-cloud-module/jeecg-cloud-system-start 下面的启动类 org.jeecg.JeecgSystemCloudApplication 右键运行启动。 ## 五、启动jeecg-demo服务 升级某个模块为微服务模块, 这里以demo为例 * 1. 添加微服务启动依赖 `jeecg-boot-starter-cloud` ~~~ org.jeecgframework.boot jeecg-boot-starter-cloud ~~~ * 2.添加配置文件application.yml `(可以忽略)` 如果没有则新建,内容如下: ~~~ server: port: 7002 spring: application: name: jeecg-demo ~~~ * 3.在org.jeecg包下新建启动类`(如果没有)` ~~~ package org.jeecg; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.openfeign.EnableFeignClients; @SpringBootApplication @EnableFeignClients public class JeecgDemoApplication { public static void main(String[] args) { SpringApplication.run(JeecgDemoApplication.class, args); } } ~~~ 上述步骤完成 即可启动 demo 微服务模块,前提nacos配置启动成功。 ## 六、启动gateway jeecg 路由加载支持三种模式:`yml本地配置` 、 `nacos配置` 、 `database数据库`,其中nacos和数据库方式支持动态刷新路由,默认用的是`database数据库`模式,详细路由配置 [参考此文档](http://doc.jeecg.com/2294757)。 启动类: org.jeecg.JeecgGatewayApplication 启动完成后nacos服务列表如下所示 ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/1d/6b/1d6b1e9e36bcd52468be3e8b94fd09de_1863x547.png) 查看在线接口文档: http://127.0.0.1:9999/doc.html ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/01/cb/01cba09b5a246e4ba9d54ce86637f138_1869x850.png) ## 七、启动前端 前端项目找到环境配置文件.env.development 修改地址:`VUE_APP_API_BASE_URL=http://localhost:9999` 其中端口号 `9999`和`gateway`的端口保持一致 >[info] 注意: 微服务方式访问,对接的是gateway的地址,不再是system。 ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/8b/4b/8b4b155115b262682be04fa275148d0f_1125x485.png) 访问系统首页: http://localhost:3000 ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/1a/8e/1a8ef30e449e6f7c009999993b469b62_1916x993.png) ***** ## 八、高级应用 ### rabbitmq服务启动 1、[安装rabbitmq](https://my.oschina.net/jeecg/blog/4729143) 2、修改nacos中jeecg-dev.yaml的rabbitmq链接配置 ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/92/33/92335223ee614ad4fc87117e0b8ab310_814x506.png) 3、启动system,rabbitmq队列和交换机会自动生成 详细文档见[ rabitmq消息队列集成2.4+](http://doc.jeecg.com/2043897) ### xxljob服务启动 1. 手工执行脚本[ jeecg-cloud-xxljob/doc/db/tables_xxl_job.sql](https://github.com/zhangdaiscott/jeecg-boot/blob/master/jeecg-boot/jeecg-cloud-module/jeecg-cloud-xxljob/doc/db/tables_xxl_job.sql) 创建xxl_job库 2. xxljob服务启动,请右键执行` jeecg-cloud-xxljob/com.xxl.job.admin.XxlJobAdminApplication` 详细文档见[ xxl-job定时任务集成2.4+](http://doc.jeecg.com/2043895)
';