DUBBO系统搭建

项目介绍

  • hdw-dubbo微服务开发平台,具有统一授权、认证后台管理系统,其中包含具备用户管理、资源权限管理等多个模块,支持多业务系统并行开发,可以作为后端服务的开发脚手架。代码简洁,架构清晰,适合学习和直接项目中使用。
  • 核心技术采用SpringBoot、Dubbo、Mybatis、Mybatis-plus、Druid、Redis、ActiveMQ、Quartz、JWT Token等主要框架和中间件。前端采用vue-element-ui组件。
  • 前后端分离,通过token进行数据交互,可独立部署
  • 灵活的权限控制,可控制到页面或按钮,满足绝大部分的权限需求
  • 页面交互使用Vue2.x,极大的提高了开发效率
  • 完善的代码生成机制,可在线生成entity、xml、dao、service、vue、sql代码,减少70%以上的开发任务
  • 引入dubbo服务治理
  • 引入quartz定时任务,可动态完成任务的添加、修改、删除、暂停、恢复及日志查看等功能
  • 引入API模板,根据token作为登录令牌,极大的方便了APP接口开发
  • 引入Hibernate Validator校验框架,轻松实现后端校验
  • 引入swagger文档支持,方便编写API接口文档

项目地址

平台 hdw-dubbo(后端) hdw-dubbo-ui(前端)
GitHub https://github.com/JacksonTu/hdw-dubbo https://github.com/JacksonTu/hdw-dubbo-ui
Gitee https://gitee.com/tumao2/hdw-dubbo https://gitee.com/tumao2/hdw-dubbo-ui

项目搭建

准备环境

  • Java1.8 (v1.8.0_131+)
  • Nacos服务发现和注册中心(v1.4.2+)下载地址
  • Redis (v3.2.100+)
  • ActiveMQ(v5.15.8+)下载地址
  • RabbitMq (v3.7+)(需安装rabbitmq_delayed_message_exchange插件 下载地址
  • Mysql (v5.7.26+)
  • Maven (v3+)
  • Nodejs (v10.16.0+)

后端配置

数据库配置

数据库sql文件:后端项目下的docs/sql/hdw_dubbo.sql

1.进入MySQL:mysql -u root -p (其中root是指我们的数据库用户名为root,后续可视具体情况修改)

然后输入密码Anxin@123即可进入数据库

2.进入数据库后创建数据库hdw_dubbo;

执行create database hdw_dubbo; (分号别漏了)

3.修改所有的涉及到Mysql的yml文件(可以全局搜索driver-class-name来定位),

修改为如下内容:

driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://172.21.3.144:3306/hdw_dubbo?autoReconnect=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai
username: root
password: Anxin@123

Redis配置

修改yml文件中的redis配置,参考如下:

redis:
database: 0
host: 172.21.6.217
port: 6379
password: gxltest123
timeout: 3600ms
# cluster:
# max-redirects: 3
# nodes: 127.0.0.1:7000, 127.0.0.1:7001, 127.0.0.1:7002, 127.0.0.1:7003, 127.0.0.1:7004,127.0.0.1:7005
lettuce:
pool:
max-active: 100
max-idle: 100
min-idle: 50
max-wait: 6000ms
shutdown-timeout: 100ms

Nacos配置

cloud:
nacos:
discovery:
server-addr: 172.21.2.198:8848

dubbo配置

只要修改registry即可,主要是修改address:将其中的ip改完你的nacos地址

registry:
id: hdw-registry
address: spring-cloud://172.21.2.198
file: /output/cache/${dubbo.application.id}.cache
timeout: 5000
session: 60000
check: false

修改完这些配置后,初始化maven项目:

mvn clean
mvn package

得到的jar包可以在docker目录下看到

将项目传输到/root/gxl/dubbo目录下(172.21.1.189)

依次执行以下命令:

nohup java -jar /root/gxl/dubbo/hdw-dubbo-master/docker/sever-base/hdw-server-base.jar &
nohup java -jar /root/gxl/dubbo/hdw-dubbo-master/docker/server-notice/hdw-server-notice.jar &
nohup java -jar /root/gxl/dubbo/hdw-dubbo-master/docker/web-base/hdw-web-base.jar &

需要注意必须依次执行,且必须保证前一个jar包执行完毕才能执行下一个

可以通过命令查看jar包执行情况:

tail -f nohup.out

需要注意的是:部署该系统时需要打开外网!

以下是部署后端时可能遇到的问题以及尝试可行的解决办法:

报错:[com.alibaba.dubbo.config.AbstractConfig|]-[WARN] [DUBBO] Connection refused,

dubbo. registry.address:配置spring-cloud://localhost或者不配置启动会报错,但最终能注册成功 · Issue #1243 · alibaba/spring-cloud-alibaba · GitHub

https://blog.csdn.net/u014636209/article/details/88983118?spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-3-88983118-blog-103926113.235%5Ev28%5Epc_relevant_t0_download&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-3-88983118-blog-103926113.235%5Ev28%5Epc_relevant_t0_download&utm_relevant_index=4

前端配置

1.安装淘宝NPM镜像

npm install -g cnpm --registry=https://registry.npm.taobao.org
npm config set registry https://registry.npm.taobao.org

2.将locallhost换成本地IP地址,具体操作参考如下:

(115条消息) vue2 配置本地IP地址访问项目_can be overwritten by process.env.host_夢鑰的博客-CSDN博客

4.修改请求接口地址

简单操作,可以直接搜索localhost,将包括的接口里的localhost全部修改为172.21.1.189,即你要部署的服务器的ip地址

3.运行

cnpm install 
npm run dev
npm run build #打包

打包后可以得到dist文件

将前端项目传输到/root/gxl/dubbo路径下(172.21.1.189)

执行如下命令:

nohup npm start &

等待部署完成后即可

以下是部署前端时可能遇到的问题以及尝试可行的解决办法:

前端node-sass安装失败,请关注node-sass和node版本的对应关系

(115条消息) node node-sass sass-loader版本对应问题_查看nodesass版本_普通网友的博客-CSDN博客