目录
Spring Security(用来管理用户权限,解决安全层面的问题)
从技术和业务的角度梳理
Spring
不是核心的技术,只是起到一个辅助的作用,进而降低其他技术的难度, 技术的核心是Spring. 在Spring之上整合了很多模块。
Spring MVC(解决前后端处理请求,交互的问题)
Spring MyBatis(访问数据库)
Spring Security(用来管理用户权限,解决安全层面的问题)
SSM是项目的基石,绝大多数的请求处理都是基于这些技术的。
其他技术:分别解决不同层面的问题
登录和权限模块
- 会话管理(后端记住前后,完成持续的交互, redis, ThreadLoal存储用户信息)
- Spring Email和Spring MVC中的Interceptor
核心
- 事务的级别,Spring是如何管理事务的
- Advice:控制器的通知,用来统一处理异常
- AOP:记录日志
性能
- 社交网站中常用的功能,需要高频地访问
- redis的数据结构,每种适合什么样的业务场景,解决什么样的问题?
通知
关注Kafka框架背后通用的原则,生产者和消费者模式,阻塞队列
搜索
关注Es数据结构,关注索引的数据结构
其他
Caffeine:本地缓存,可以提高性能,但在分布式中存在一定的局限性、要和redis结合在一起
关注线程池(JDK、Spring中的线程池、线程池的几大参数、如何自己实现一个线程池)
从运维角度-部署架构
从网站的更宏观的角度
部署到多台服务器上
请求的资源分两类, 通常由不同的服务器响应。
- 静态资源(部署到CDN上)
- 动态资源(需要由controller处理)。
需要从性能,安全性、可靠性多方面加以关注