简介:
今天是尚庭公寓第一天,接下来每天我都会把自己对代码的理解,以及总结发在这里,如果你跟我一样在学习,希望我们都坚持下去,找一份满意的工作!
大致介绍:首先,这个尚庭公寓是需要一点基础的,只要会Java基础+Java web+ssm+springboot+mysql+maven就可以学
这个单体项目是一个公寓租赁平台项目,包括移动端和管理端,是前后分离式开发,不需要会前端也可以.
接下来是我的一些个人理解:老师p7老师讲到了项目技术概述讲到了存储服务mySQL为持久化存储数据,redis缓存,临时存数据(用户观看界面时,不需要进行查询数据库,直接尽心读取缓存,可为后端减轻压力)
MINio:
minio学名叫做对象存储,是用于存储非结构化数据的新型数据存储架构,将一个数据单元称为一个对象,每个对象都包含数据本身,元数据和一个唯一的标识符(可以访问的URL地址),minio是一个开源的对象存储方案,类似于阿里云oss,百度云bos等(minio比较繁琐)
对象存储总结:把一个图片保存到一个对象存储服务后,会赋给这个对象一个浏览器可以访问的URL地址,这个URL地址可以直接用HTTP协议去访问,也就是网页可以直接进行访问也就是,MINio既提供了存储服务,又提供了访问功能.
结构化数据:比如在用mySQL保存数据时,可以分为好多表,存储时,会按照设置的字段类型,字段来进行保存数据,总之,就是按照设定的类型进行存储,就叫结构化数据.
非结构化数据:比如图片,音频,视频等这些数据就称为非结构化数据.
数据单元:往对象存储服务里面保存一个文件,比如图片,视频等
元数据:对数据的描述信息,比如数据的大小,类型等,就叫做元数据
NGINX:
前端服务,相当于前端和服务器的一个中间人,
两个作用:
1.作为静态资源http服务器,每次打开界面,(浏览器会进行请求两个http服务)浏览器会进行运行前端已经写好的三大件(HTML,js,css)的静态资源,前端运行到js会并且发送网络请求到后台,NGINX相当于后端的TOMCAT,前端会向NGINX发送数据请求,后端会向TOMCAT发送数据
2.会作为后端接口的代理服务器,有了这个代理,客户端不会直接发送给服务端,而是发送给网络代理NGINX,网络代理不做任何处理,而是把这个请求转发给服务端,服务端返回数据,也是先发送给代理,然后再转发给客户端
代理:网络代理,介于客户端和服务端的之间的第三方服务,相当于中间人
浏览器请求流程是这样的:
移动端或后台管理端(客户端浏览器)先进行请求NGINX,来获取前端静态资源,然后获取到js时,js中写了对后端进行请求的接口逻辑,执行时,会向NGINX服务,然后NGINX服务接收到后端请求后,会直接进行转发到后端服务器上,然后,后端再响应回NGINX,NGINX再返回给客户端浏览器.
为什么要再浏览器和后端服务之间加一层服务代理NGINX呢?
1.防止暴露后端服务器地址,浏览器进行访问NGINX地址,浏览器只会显示到NGINX的地址,从而避免后端服务被攻击.
2.当项目上线时,用户量变多,从而一个服务器不够,就需要增加多个服务器.而NGINX会进行转发这些需求,根据一定的规则,均匀的进行转发给服务器,这个功能叫做负载均衡.
数据库设计
数据库设计理论
数据库中最常采用的模型为实体关系模型,简称ER模型,核心思想就是将现实直接中复杂的数据表示成一组实体,并描述这些实体之间的关系
-
实体通常对应现实世界中的一个对象,例如:学生、班级、教师、课程。
-
每个实体都包含一组属性,这些属性用于描述实体,例如学生实体包含姓名、年龄、性别等属性。
-
关系用于描述各实体之间的联系,例如学生和班级之间存在从属关系。
其中关系可分为一对一、一对多、多对多三种,例如学生和班级之间的关系为一对多、学生和课程之间的关系为多对多。