面对大河我无限惭愧
我年华虚度空有一身疲倦
项目概述:
类似于新闻头条,是一个新闻资讯类项目
(这里之后放项目APP端的截图)
技术架构:
项目术语:
术语 | 描述 | 平台 |
---|---|---|
用户 | 移动端头条APP用户 | 移动端APP |
媒体人 | 通过自媒体系统发送文章的用户 | PC端自媒体系统 |
管理员 | 使用PC端头条管理系统的用户 | PC端管理系统 |
基础层:
服务层:
开发流程:
内容 | 技术点 |
---|---|
环境搭建 | springboot、springcloud、nacos、swagger |
文章列表查看 | freemarker、OSS、CDN、ElasticSearch、Redis |
热点文章计算 | kafka、kafkaStream、xxl-job、Redis |
CMS自媒体端文章发布审核 | 第三方接口、延迟队列 |
项目部署、数据迁徙 | Hbase、Jenkins、Git、Docker |
设计知识点:
vmware虚拟机安装地址: https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html
安装完成后,下载虚拟机镜像: https://pan.baidu.com/s/1tBOqX5TKu18iCGSeMZKDzQ?pwd=abcd
打开虚拟机 解压后的镜像
修改虚拟网络地址(NAT)为 200
修改虚拟机的网络模式为NAT
启动虚拟机:
用户名:root,密码:itcast,ip:192.168.200.130
FinalShell安装包地址: https://pan.baidu.com/s/1UmIUqgQhsYKno2LuYBZpng?pwd=abcd
连接虚拟机(SSH连接,账号密码:root/itcast):
Nacos访问地址: http://192.168.200.130:8848/nacos
Nacos的拉取和容器创建已经提前做了,命令如下:
# docker拉取镜像
docker pull nacos/nacos-server:1.2.0
# 查看全部镜像
docker images
# 创建容器
docker run --env MODE=standalone --name nacos --restart=always -d -p 8848:8848 nacos/nacos-server:1.2.0
# 列出容器
docker ps
# 查看日志
docker logs -f 【容器id】
JDK1.8、maven-3.6.1
轻量级初始工程: https://pan.baidu.com/s/1VeSL11Lg8-V32ciBcWtGjA?pwd=abcd
maven仓库地址: https://pan.baidu.com/s/1I-ZQraD4M08F33HS5Mv-Ww?pwd=abcd
编码编码格式
不可控异常处理(了解)src/main/java/com/heima/common/exception/ExceptionCatch.java
:
@ControllerAdvice //控制器增强类
@Slf4j
public class ExceptionCatch {
/**
* 处理不可控异常
* @param e
* @return
*/
@ExceptionHandler(Exception.class)
@ResponseBody
public ResponseResult exception(Exception e){
e.printStackTrace();
log.error("catch exception:{}",e.getMessage());
return ResponseResult.errorResult(AppHttpCodeEnum.SERVER_ERROR);
}
/**
* 处理可控异常 自定义异常
* @param e
* @return
*/
@ExceptionHandler(CustomException.class)
@ResponseBody
public ResponseResult exception(CustomException e){
log.error("catch exception:{}",e);
return ResponseResult.errorResult(e.getAppHttpCodeEnum());
}
}