- changgou-common:公共模块
- changgou-eureka:eureka模块
- changgou-gateway:网关模块
- changgou-service
- changgou-service-api
- changgou-web
changgou-service-api
-> changgou-service-goods-api
: 包含有数据库的pojo类,和数据库数据结构相关
changgou-service
-> changgou-service-goods
: 操作数据库
同样的,这样个模块下类似命名的子模块都以此类推
graph LR
subgraph one
id[dao] --> id1[service]
id1[service] -.注解:Autoware.-> id2[controller]
end
id1[service] --继承--> id3((service.impl))
id3 -.注解:Autowired.-> id
id3 --实际自动注入--> id2
id4[Mapper] --继承--> id
dao
-> service
-> controller
FastDFS是一个开源的
轻量级分布式文件系统
,它对文件进行管理,功能包括:文件存储
、文件同步
、文件访问(文件上传、文件下载)
等,解决了大容量存储
和负载均衡
的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。FastDFS为互联网呈身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。
FastDFS架构包括
Tracker server
和Storage server
。客户端请求Tracker server进行文件上传、下载,通过Tracker server调度最终由Storage server完成文件上传和下载。Tracker server作用是负载均衡和调度,通过Tracker server在文件上传时可以根据一些策略找到Storage server提供文件上传服务。可以将tracker称为追踪服务器或调度服务器。Storage server作用是文件存储,客户端上传的文件最终存储在Storage服务器上,Storageserver没有实现自己的文件系统而是利用操作系统的文件系统来管理文件。可以将storage称为存储服务器。
FastDFS启动:
# 运行storage
docker run -d --name tracker --net=host morunchang/fastdfs sh tracker.sh
# 运行storage
docker run -d --name storage --net=host -e TRACKER_IP=<your tracker server address>:22122 -e GROUP_NAME=<group name> morunchang/fastdfs sh storage.sh
# -e 环境变量
# 使用的网络模式是–net=host, 替换为你机器的Ip即可
# 是组名,即storage的组
# 如果想要增加新的storage服务器,再次运行该命令,注意更换 新组名
进入storage
容器 修改nginx配置(/data/nginx/conf/nginx.conf
):
location /group1/M00 {
# 禁止缓存,后面有讲到
add_header Cache-Control no-store;
proxy_next_upstream http_502 http_504 error timeout invalid_header;
proxy_cache http-cache;
proxy_cache_valid 200 304 12h;
proxy_cache_key $uri$is_args$args;
proxy_pass http://fdfs_group1;
expires 30d;
}
退出并重启storage
容器
开启启动:
[root@192 ~]# docker update --restart=always tracker
[root@192 ~]# docker update --restart=always storage
文件上传的真实路径:
vi /etc/fdfs/storage
->
# store_path#, based 0, if store_path0 not exists, it's value is base_path
# the paths must be exist
store_path0=/data/fast_data
#store_path1=/home/yuqing/fastdfs2
即:
M00 -> /data/fast_data
文件删除后 禁止浏览器缓存
# nginx 禁止缓存
add_header Cache-Control no-store;
Linux
安装openresty
OpenResty(又称:ngx_openresty) 是一个基于 nginx的可伸缩的 Web 平台,由**人章亦春发起,提供了很多高质量的第三方模块。
OpenResty 是一个强大的 Web 应用服务器,Web 开发人员可以使用 Lua 脚本语言调动 Nginx 支持的各种 C 以及 Lua 模块,更主要的是在性能方面,OpenResty可以 快速构造出足以胜任 10K 以上并发连接响应的超高性能 Web 应用系统。
OpenResty 简单理解成 就相当于封装了nginx,并且集成了LUA脚本,开发人员只需要简单的其提供了模块就可以实现相关的逻辑,而不再像之前,还需要在nginx中自己编写lua的脚本,再进行调用了。
# 添加仓库
yum install yum-utils
yum-config-manager --add-repo https://openresty.org/package/centos/openresty.repo
#安装
yum install openresty
# 安装成功后的目录:/usr/local/openresty