littlebot
Published on 2025-04-08 / 0 Visits
0

【源码】基于Spring Cloud Alibaba和Vue的微服务技术博客网站

项目简介

本项目是基于Spring Cloud Alibaba和Vue框架开发的微服务技术博客网站。采用前后端分离架构,后端运用Spring Cloud Alibaba生态技术组合实现微服务架构,提供Restful风格API的服务接口;前端页面包含后台管理员端和用户端,基于Vue等技术整合Element-UI等模板开发。

项目的主要特性和功能

后端主要技术栈

  • 核心框架:Spring Boot + Spring Cloud Alibaba
  • ORM框架:MyBatis、tk-mybatis
  • 数据库连接池:Alibaba Druid
  • 数据库缓存:Redis Sentinel
  • 消息中间件:RocketMQ
  • 接口文档引擎:Swagger2
  • 全文检索引擎:ElasticSearch
  • 分布式链路追踪:SkyWalking
  • 分布式文件系统:FastDFS
  • 分布式系统网关:Spring Cloud Gateway
  • 分布式协调系统:Spring Cloud Alibaba Nacos Server
  • 分布式配置中心:Spring Cloud Alibaba Nacos Config
  • 分布式熔断降级:Spring Cloud Alibaba Sentinel
  • 反向代理负载均衡:Nginx

前后端分离

  • 前端框架:Node.js + Vue + Axios
  • 前端模板:ElementUI

持续集成

  • 持续集成:GitLab、GitLab-runner
  • 持续交付:Jenkins

服务规划

服务平台

| 服务名称 | 服务地址 | 服务说明 | | :--------------------- | :------------------ | :--------------------------------------------- | | GitLab | 192.168.31.10:80 | 代码托管 | | Nexus | 192.168.31.10:8081 | Maven私服 | | Docker-Registry | 192.168.31.10:5000 | Docker镜像仓库服务 | | Docker-Registry-Client | 192.168.31.10:8082 | Docker镜像仓库管理界面 | | MySQL | 192.168.31.10:3306 | 数据库,因硬件不足,用一个MySQL,多个库 | | Nginx | 192.168.31.10:40001 | 静态资源服务器 | | nacos-docker | 192.168.31.13:8848 | 服务注册与发现、分布式配置中心 | | ElasticSearch | 192.168.31.13:9200 | 分布式搜索框架 | | Skywalking | 192.168.31.13:8080 | 分布式服务链路追踪 | | Sentinel | 192.168.31.13:40000 | 熔断器仪表盘 | | RocketMQ | 192.168.31.14:9876 | 消息中间件 | | fastDFS | 192.168.31.15:8888 | 分布式文件系统 |

redis-HA

| 服务名称 | 服务地址 | 服务说明 | | ---------------- | ------------------- | -------- | | redis-master | 192.168.31.12:6379 | 主 | | redis-slave-1 | 192.168.31.12:6380 | 从1 | | redis-slave-2 | 192.168.31.12:6381 | 从2 | | redis-sentinel-1 | 192.168.31.12:26379 | 哨兵1 | | redis-sentinel-2 | 192.168.31.12:26380 | 哨兵2 | | redis-sentinel-3 | 192.168.31.12:26381 | 哨兵3 |

应用服务

通用服务(common)

| 服务名称 | 服务地址 | Sentinel 端口 | 服务角色 | 服务说明 | | --------------------- | ------------------- | ------------- | -------- | ------------------------------------------------------------ | | ycode-common-gateway | 192.168.31.13:41000 | | 通用 | API 网关,聚合服务,对外提供统一的访问地址 | | ycode-common-email | 192.168.31.13:41001 | | 通用 | 邮箱服务,依赖于消息中间件异步发送邮件 | | ycode-common-redis | 192.168.31.13:41002 | | 通用 | Redis服务,提供操作Redis集群的功能接口 | | ycode-common-fastdfs | 192.168.31.13:41003 | | 通用 | 文件系统服务,提供操作分布式文件系统的功能接口 | | ycode-common-datetime | 192.168.31.13:41000 | | 通用 | 时间服务,统一整个架构中的时间,提供获取当前时间戳的功能接口 |

服务提供者(service)

| 服务名称 | 服务地址 | Sentinel 端口 | 服务角色 | 服务说明 | | ----------------------------- | ------------------- | ------------- | -------- | ---------------------- | | ycode-service-user-regist | 192.168.31.13:42000 | | 提供者 | 用户注册服务 | | ycode-service-slideshow-admin | 192.168.31.13:42001 | | 提供者 | 管理员端的轮播图服务 | | ycode-service-slideshow-user | 192.168.31.13:42002 | | 提供者 | 用户端的轮播图服务 | | ycode-service-sso-admin | 192.168.31.13:42003 | | 提供者 | 管理员端的单点登录服务 |

服务消费者(web)

| 服务名称 | 服务地址 | Sentinel 端口 | 服务角色 | 服务说明 | | ------------------------- | ------------------- | ------------- | -------- | ---------------------- | | ycode-web-user-regist | 192.168.31.13:43000 | 44000 | 消费者 | 用户注册服务 | | ycode-web-slideshow-admin | 192.168.31.13:43001 | 44001 | 消费者 | 管理员端的轮播图服务 | | ycode-web-slideshow-user | 192.168.31.13:43002 | 44002 | 消费者 | 用户端的轮播图服务 | | ycode-web-sso-admin | 192.168.31.13:43003 | 44003 | 消费者 | 管理员端的单点登录服务 |

前端部署(node.js)

| 服务名称 | 服务地址 | 服务说明 | | ----------- | ------------------ | -------------- | | ycode-admin | 192.168.31.16:8081 | 后台管理员界面 | | ycode-pc | 192.168.31.16:8082 | 用户界面 |

安装使用步骤

前提条件

  • 已安装Java 8或更高版本
  • 已安装Maven
  • 已安装MySQL 8.0.13或更高版本
  • 已安装Redis
  • 已安装Node.js和npm
  • 已安装Docker和Docker Compose(可选)

后端服务安装步骤

  1. 复制项目代码 bash cd ycode-for-spring-cloud-alibaba
  2. 配置数据库 创建MySQL数据库并导入初始数据: sql CREATE DATABASE ycode; USE ycode; SOURCE /path/to/your/database/dump.sql;
  3. 配置Redis 确保Redis服务已启动并配置正确。
  4. 配置Nacos 启动Nacos服务并配置相关服务注册和发现。
  5. 配置RocketMQ 启动RocketMQ服务并配置相关消息队列。
  6. 配置ElasticSearch 启动ElasticSearch服务并配置相关索引。
  7. 配置SkyWalking 启动SkyWalking服务并配置相关链路追踪。
  8. 配置FastDFS 启动FastDFS服务并配置相关文件存储。
  9. 配置Nginx 配置Nginx作为反向代理和负载均衡器。
  10. 构建和运行项目 bash mvn clean install cd ycode-server mvn spring-boot:run

前端服务安装步骤

  1. 安装依赖 bash cd ycode-admin npm install cd ../ycode-pc npm install
  2. 运行前端项目 bash cd ycode-admin npm run serve cd ../ycode-pc npm run serve
  3. 访问前端页面 打开浏览器,访问以下地址:
  4. 后台管理员端:http://192.168.31.16:8081
  5. 用户端:http://192.168.31.16:8082

部署环境

  • 操作系统:CentOS-7-x86_64-DVD-1810
  • 虚拟化技术:VMware、Docker

项目管理工具

  • 项目构建:Maven、Nexus
  • 代码管理:Git、GitLab
  • 镜像管理:Docker、Docker Registry

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】