SpringCloud+Vue微服务博客式的论坛
SpringCloud+Vue微服务博客式的论坛前言我又来发博客了,慢慢悠悠的,我还是在暑假开学之前完成了这个项目,-_-,vue-element-admin框架的后台登录好麻烦啊,应该后面我会加个spring security oauth2认证,我还没学会。现在还只是使用暴力登录法。等我下次想继续做了再说。
后续又是几个月,看了springsecurity oauth2的课程,想修改后台登录,但发现并没有用上,不过还是实现了后台用密码登录,并且已经上传了代码
下载地址和文件全部码云地址如果有什么不会的,或者什么bug,可以加我QQ:616365750。希望可以给个satrviolet 是后台管理violet-admin 后台页面violet-admin-front 前台页面nacos和redis 也放这里了
0.采用了前后端分离的微服务架构mybatis_plus 减少代码使用redis 短信注册保存验证码,轮播图存储gateway 解决跨域问题nacos 服务注册jtw+token 验证result 风格阿里云OSS存储图片阿里云短信验证服务echarts 图表功能后台 使用ti ...
谷粒学院项目(分布式)
谷粒学院项目学习地址
1.项目描述
在线教育系统,分为前台网站系统和后台运营平台,B2C模式。
前台用户系统包括课程、讲师、问答、文章几大大部分,使用了微服务技术架构,前后端分离开发。
后端的主要技术架构是:SpringBoot + SpringCloud + MyBatis-Plus + HttpClient + MySQL +Maven+EasyExcel+ nginx
前端的架构是:Node.js + Vue.js +element-ui+NUXT+ECharts
其他涉及到的中间件包括Redis、阿里云OSS、阿里云视频点播
业务中使用了ECharts做图表展示,使用EasyExcel完成分类批量添加、注册分布式单点登录使用了JWT
项目前后端分离开发,后端采用SpringCloud微服务架构,持久层用的是MyBatis-Plus,微服务分库设计,使用Swagger生成接口文档
接入了阿里云视频点播、阿里云OSS。
系统分为前台用户系统和后台管理系统两部分。
前台用户系统包括:首页、课程、名师、问答、文章。
后台管理系统包括:讲师管理、课程分类管理、课程管理 ...
Docker安装redis(使用阿里云镜像仓库)
Docker安装redis直接下载太慢了,所以这里使用阿里云的镜像仓库下载,快的很1.创建 /etc/docker/daemon.json 文件,在里面加入内容
{
"registry-mirrors": ["你的阿里云地址"]
}
2.重启加载文件sudo systemctl daemon-reload//重新加载
sudo systemctl restart docker//重启
3.获取redis镜像docker pull redis
4.从官网获取redis配置文件文件地址
修改默认配置文件
bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问
protected-mode no #默认yes,开启保护模式,限制为本地访问
daemonize no#默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程(可选),改为yes会使配置文件方式启动redis失败
dir ./ #输入本地redis数据库存放文件夹(可选)
appendonly ...
SpringCloud之Gateway网关服务(取代nginx)
SpringCloud之Gateway网关服务(取代nginx)
1.导入依赖 <dependencies>
<!--这个是我上面的工具maven项目-->
<dependency>
<groupId>com.mine</groupId>
<artifactId>common_util</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</a ...
SpringBoot之Canal同步数据库
SpringBoot之Canal同步数据库介绍通过实时同步数据库表的方式实现,例如我们要统计每天注册与登录人数,我们只需把会员表同步到统计库中,实现本地统计就可以了,这样效率更高,耦合度更低,Canal就是一个很好的数据库同步工具。 canal是阿里巴巴旗下的一款开源项目,纯Java开发。基于数据库增量日志解析,提供增量数据订阅&消费,目前主要支持了MySQL。
本地数据库和服务器上数据库保持一致,本地添加内容,服务器上面数据库也会自动添加内容1.Canal环境搭建1)检查binlog功能是否有开启
show variables like 'log_bin';
2)如果显示状态为OFF表示该功能未开启,开启binlog功能
1,修改 mysql 的配置文件 my.cnf
vi /etc/my.cnf
追加内容:
log-bin=mysql-bin #binlog文件名
binlog_format=ROW #选择row模式
server_id=1 #mysql实例id,不能和canal的slaveId重复
2,重启 mysql:
service mysql r ...
SpringBoot之Vue添加图表
SpringBoot之Vue添加图表本文章只是提到这个工具的基本使用,并没有后端调用数据的方法,需要自己写
1.创建统计图表的数据库
2.后台需要查找截至前一天的统计数据,不是今天,然后加到上面这种表里面。所以设置定时任务,每天凌晨执行,下图是结构和一个工具类。工具类里面是查找前一天的日期
工具类DateUtilimport java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/**
* 日期操作工具类
*
* @author qy
* @since 1.0
*/
public class DateUtil {
private static final String dateFormat = "yyyy-MM-dd";
/**
* 格式化日期
*
* @param date
* @return
*/
public static String formatDate(D ...
SpringBoot之整合阿里云短信服务
SpringBoot之整合阿里云短信服务阿里云申请开通短信服务1.设置签名管理和模板管理
SpringBoot项目结构包结构
1.导入依赖<dependencies>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.28<version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.3.3<version>
</dependency>
</d ...
SpringBoot之集成Redis缓存
SpringBoot之集成Redis缓存1.添加依赖<!-- redis -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!-- spring2.X集成redis所需common-pool2-->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
<version>2.6.0</version>
</dependency>
2.固定配置类import com.fasterxml.jackson.annotation. ...
SpringBoot之Vue安装幻灯片插件
SpringBoot之Vue安装幻灯片插件前台项目使用了nuxt模板,但这个模板没有Element组件,所以需要引入
Nuxt官网
1.安装插件npm install vue-awesome-swiper
2. 新建nuxt-swiper-plugin.js,并放入内容
import Vue from 'vue'
import VueAwesomeSwiper from 'vue-awesome-swiper/dist/ssr'
Vue.use(VueAwesomeSwiper)
3.在 nuxt.config.js 文件中配置插件
plugins: [
{ src: '~/plugins/nuxt-swiper-plugin.js', ssr: false }
],
css: [
'swiper/dist/css/swiper.css'
],
4.在assets下引入自己需要的静态资源
5.在页面中加入幻灯片 <div v-swiper:mySwiper ...
SpringCloud服务熔断hystrix
SpringCloud服务熔断hystrix需要先看上一篇SpringCloud服务注册中心Nacos文章
1.添加依赖<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
</dependency>
<!--hystrix依赖,主要是用 @HystrixCommand -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>
<!--服务注册-->
<dependency>
...