如何进行JeecgBoot单体升级微服务

这篇文章的内容主要围绕如何进行JeecgBoot 单体升级微服务进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!

网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、微信小程序、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了大余免费建站欢迎大家使用!

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

如何进行JeecgBoot 单体升级微服务

2.system项目作为微服务启动,需要添加微服务依赖



    com.alibaba.cloud
    spring-cloud-starter-alibaba-nacos-discovery



   com.alibaba.cloud
   spring-cloud-starter-alibaba-nacos-config




    com.alibaba.cloud
    spring-cloud-starter-alibaba-sentinel

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配置文件,删除截图中两处配置

如何进行JeecgBoot 单体升级微服务

5.启动类添加注解:@EnableDiscoveryClient

二、升级其他模块为独立服务(例如demo模块)

以demo为例:

1.修改pom,将local-api修改成cloud-api

如何进行JeecgBoot 单体升级微服务


   org.jeecgframework.boot
   jeecg-system-cloud-api

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下的同名文件,需要修改端口号

如何进行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
@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,查看服务列表

如何进行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的端口保持一致 如何进行JeecgBoot 单体升级微服务

常见问题1. gateway启动报错,需要手工编译下gateway项目

如何进行JeecgBoot 单体升级微服务

2. demo项目启动报错javax.mail.AuthenticationFailedException: 535 Error: authentication failed

备注:前后端交互需要修改一些配置、
1.每个服务yml配置中有个属性 `context-path: /jeecg-boot`,服务化后需要修改成`/`,或者直接删除该配置
2.前端项目找到文件`public/index.html`
修改地址:` window._CONFIG['domianURL'] = 'http://127.0.0.1:9999`,其中端口号 `9999`和gateway的端口保持一致
3. 跨域设置,此设置可以忽略,文档留作记录

# 跨域问题注释掉这俩类的跨域设置
org/jeecg/config/shiro/filters/JwtFilter.java:65
org/jeecg/config/WebMvcConfiguration.java:49

感谢你的阅读,相信你对“如何进行JeecgBoot 单体升级微服务”这一问题有一定的了解,快去动手实践吧,如果想了解更多相关知识点,可以关注创新互联网站!小编会继续为大家带来更好的文章!


网站标题:如何进行JeecgBoot单体升级微服务
网站链接:http://ybzwz.com/article/gpjois.html