JeecgBoot 2.4.5 快速单体升级微服务

1,280 阅读2分钟

JeecgBoot 2.4.5 快速单体升级微服务官方也有说明,我这边直接上代码主要修改哪些地方。

需要用到的工具有docker跟docker-compose。

第一步:修改jeecg-boot/pom.xm

image.png

image.png

<!-- 开发 -->
<profile>
    <id>dev</id>
    <activation>
        <!--默认激活配置-->
        <activeByDefault>true</activeByDefault>
    </activation>
    <properties>
        <!--当前环境-->
        <profile.name>dev</profile.name>
        <!--配置文件前缀-->
        <prefix.name>jeecg</prefix.name>
        <!--Nacos配置中心地址-->
        <config.server-addr>jeecg-boot-nacos:8848</config.server-addr>
        <!--Nacos配置中心命名空间,用于支持多环境.这里必须使用ID,不能使用名称,默认为空-->
        <config.namespace></config.namespace>
        <!--Nacos配置分组名称-->
        <config.group>DEFAULT_GROUP</config.group>
        <!--Nacos服务发现地址-->
        <discovery.server-addr>jeecg-boot-nacos:8848</discovery.server-addr>
    </properties>
</profile>

增加一条hosts记录,ip是指向redis,mysql,nacos,xxljob,rabbitmq这些基础服务的服务器,如果开发的主机性能够强就直接配置为本机ip就可以了

127.0.0.1 jeecg-boot-redis jeecg-boot-mysql jeecg-boot-nacos jeecg-boot-gateway jeecg-boot-system jeecg-boot-xxljob jeecg-boot-rabbitmq

第二步:修改jeecg-boot/jeecg-boot-module-system/pom.xml

image.png

image.png

# 可选择关闭单体启动
# jeecg-boot/jeecg-boot-module-system/src/main/java/org/jeecg/JeecgSystemApplication.java
# 注释 //@SpringBootApplication

第三步:修改jeecg-boot/jeecg-cloud-module/jeecg-cloud-gateway/src/main/resources/application.yml

image.png

第四步:修改jeecg-boot/jeecg-cloud-module/jeecg-cloud-nacos/src/main/resources/application.yml

image.png

db:
  num: 1
  password:
    '0': ${MYSQL-PWD:nacos}
  url:
    '0': jdbc:mysql://${MYSQL-HOST:mysql-service}:${MYSQL-PORT:3306}/${MYSQL-DB:nacos}?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true
  user:
    '0': ${MYSQL-USER:nacos}

第五步:修改jeecg-boot/jeecg-cloud-module/jeecg-cloud-xxljob/src/main/resources/application.yml

image.png

server:
  port: 9080
  servlet:
    context-path: /xxl-job-admin
  #数据源配置
spring:
  datasource:
    url: jdbc:mysql://${MYSQL-HOST:jeecg-boot-mysql}:3306/xxl_job?Unicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
    username: root
    password: root

第六步: 修改jeecg-boot/jeecg-boot-module-demo/src/main/java/org/jeecg/JeecgDemoCloudApplication.java

image.png

第七步:修改jeecg-boot/jeecg-boot-module-demo/pom.xml

image.png

这个时候可以mvn clean package了

image.png

开始用docker来启动我们的基础服务了

docker-compose路径为:jeecg-boot/jeecg-cloud-module/docker-compose.yml

对原来的docker-compose.yml做了些调整

version: '2'
services:
  jeecg-boot-mysql:
    build:
      context: ../db
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_ROOT_HOST: '%'
      TZ: Asia/Shanghai
    restart: always
    container_name: jeecg-boot-mysql
    command:
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --explicit_defaults_for_timestamp=true
      --lower_case_table_names=1
      --max_allowed_packet=128M
      --default-authentication-plugin=caching_sha2_password
    ports:
      - 3306:3306

  jeecg-boot-redis:
    image: redis:5.0
    ports:
      - 6379:6379
    restart: always
    container_name: jeecg-boot-redis
    hostname: jeecg-boot-redis

  jeecg-boot-nacos:
    restart: on-failure
    build:
      context: ./jeecg-cloud-nacos
    ports:
      - 8848:8848
    depends_on:
      - jeecg-boot-mysql
    container_name: jeecg-boot-nacos
    environment:
      - MYSQL-HOST=jeecg-boot-mysql
      - MYSQL-PWD=root
      - MYSQL-USER=root
    hostname: jeecg-boot-nacos

  jeecg-boot-gateway:
    restart: on-failure
    build:
      context: ./jeecg-cloud-gateway
    ports:
      - 9999:9999
    depends_on:
      - jeecg-boot-nacos
      - jeecg-boot-redis
    container_name: jeecg-boot-gateway
    hostname: jeecg-boot-gateway

  jeecg-boot-system:
    depends_on:
      - jeecg-boot-mysql
      - jeecg-boot-redis
      - jeecg-boot-nacos
    build:
      context: ./jeecg-cloud-system-start
    container_name: jeecg-boot-system
    hostname: jeecg-boot-system
    restart: on-failure
    environment:
      - TZ=Asia/Shanghai

  jeecg-boot-xxljob:
    build:
      context: ./jeecg-cloud-xxljob
    ports:
      - 9080:9080
    container_name: jeecg-boot-xxljob
    hostname: jeecg-boot-xxljob

  jeecg-boot-rabbitmq:
    #    image: rabbitmq:3-management
    image: rabbitmq:3
    ports:
      - 5672:5672
    #      - 15672:15672
    restart: always
    container_name: jeecg-boot-rabbitmq
    hostname: jeecg-boot-rabbitmq

使用 docker-compose up -d 命令就可以全部启动了

第八步:修改ant-design-vue-jeecg/.env.development 把前端启动起来

NODE_ENV=development
#VUE_APP_API_BASE_URL=http://localhost:8080/jeecg-boot
VUE_APP_API_BASE_URL=http://localhost:9999
#VUE_APP_API_BASE_URL=http://jeecg-boot-gateway:9999
VUE_APP_CAS_BASE_URL=http://cas.example.org:8443/cas
VUE_APP_ONLINE_BASE_URL=http://fileview.jeecg.com/onlinePreview