8.4项目总结

在这里插入图片描述
该图显示了:

  • 项目中绝大多数功能
  • 项目中用到的绝大多数技术
  • 并对这两个进行了匹配,以方便显示我们用哪些技术解决了哪些问题。

我们所有的技术是构建在 spring boot的基础上,因此将其置于最底下。

spring boot不是整个技术核心的东西,只是起到辅助的作用,降低其它技术使用的难度。
技术核心是 spring,所有技术围绕spring展开
重点技术用下划线进行了标记。

在 spring 之上,我们用到了其很多模块,比如 spring MVC,解决了前后端交互问题;spring Mybatis以访问数据库;spring security管理项目中的安全性、以及访问权限问题,这三个技术均由spring 进行了整合。

这些是我们整个项目的基石:
在这里插入图片描述

对于权限管理模块:

在这里插入图片描述
拦截器是重点,能够拦截所有请求,解决一些通用问题

状态 :指得是在页面上显示用户名,头像
设置 :上传头像、修改密码
授权:不同类型用户登录进来,访问不同的功能(其实是用security实现的)

重点话题:会话管理。
整个权限管理 是在 会话管理基础之上的,复习的时候 要多看 会话管理 方面的内容

会话管理要了解 cookie,session区别,各自发挥什么作用。为什么项目中最后规避了session?因为考虑了分布式部署,session会有一些问题;不要session 最后是如何解决该问题的呢?是使用了redis,还有 logger?
总之,权限管理从技术上关注 拦截器,从逻辑上、业务上关注 会话管理。

对于核心模块:
在这里插入图片描述
首页、帖子、评论、私信均基于spring mvc,而异常和日志 用到了通用的技术,这俩需要重点关注。
从业务角度来看,要关注敏感词,其是如何过滤的(相关算法),还有关注事务管理的一些问题,事务是怎么回事,事务的隔离级别如何,我们是怎么用spring管理事务的。

此外,我们用到了advice,控制器的通知统一处理的异常,
用到了AOP统一记录业务层的日志,虽然业务单薄,但是很多包括 事务之类的底层基于AOP,所以AOP很重要,是复习重点

对于性能模块:
在这里插入图片描述
redis 开发了’点赞、关注这类需要高频高性能访问的,需要用redis优化性能

此外 用redis 特殊的两个数据类型 统计了网址的 UA、活跃用户等

用redis缓存,提高了网站中性能不够好的地方

redis 有多种数据结构,每种数据结构 适合解决什么问题,适合什么样的数据

对于通知模块:
在这里插入图片描述
用到了消息队列的一个框架 卡夫卡,该框架 使用简单,复习的时候不用多关注框架 使用,而需要关注框架通用原则,即生产者消费者模式。

对于搜索模块:
在这里插入图片描述
针对帖子进行全面的搜索,搜索其各个字段。ES框架同样使用简单,需要关注其 数据结构,ES也要把数据单独存一份,存的方式和其他数据库不一样,可以以索引方式来存,

对于其他模块:
在这里插入图片描述
帖子排行,上传文件到云服务器,,
用Quartz做定时任务,caffeine做本地缓存
线程池是Quartz 背后的一些原则

在真实的服务中,每个节点

请求分为两类 ,一类 请求静态 资源,比如CSS文件、js文件,不会有任何变化;一类是动态的请求,要求返回 动态数据。这两种请求是由不同的服务器进行处理的。
动态由ngix处理
平时是主服务器处理请求,从服务器起到备份作用,主服务器挂了,从服务器补上

静态请求不经过ngix,而是靠CDN

ngix起到负载 均衡作用,帮我们把请求分发给某个应用服务器

在服务器中部署了项目代码 community,还有 本地缓存。

数据库一般部署两台,实现读写分离,一台负责读,一台负责写

两个服务器会自动同步,写入后的数据 也会在读的服务器中存在

redis实现二级缓存,本地缓存是一级缓存,这二者的存在 ,避免了请求直接访问数据库,大大减轻了数据库的压力

文件服务器 用的是qiniu云

这个架构图面试很重要,面试不仅仅关注代码,还关注这个网站能不能正常独立运转起来 ,性能、可靠性、安全性如何

面试建议:
职业素养、项目经验、技术栈全不全面

面试官会问哪儿最熟,然后就一直深问,直到问到底。(只挑选一个,长板要特别长)

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值