黑马点评项目总结及个人优化

2024-05-14 14:44

本文主要是介绍黑马点评项目总结及个人优化,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

怎么根据前端代码实现自己的后端业务,实现不同接口

  1. 查阅文档:如果有完善的接口文档,可以直接查阅文档来了解后端所有接口的业务逻辑和功能。

  2. 阅读后端代码:通过阅读后端代码,特别是控制器(Controller)层和服务(Service)层的代码,可以了解后端所有接口的具体实现逻辑。

  3. 使用接口调试工具:可以使用接口调试工具(如Postman、Insomnia等)来发送请求,查看后端接口的响应结果,从而了解每个接口的功能和参数。

  4. 与后端开发人员沟通:与后端开发人员进行沟通,询问接口的详细信息和业务逻辑,可以更加直接地了解后端所有接口的功能和用法。

  5. 通过前端代码间接确定:前端代码通常会调用后端接口来获取数据或执行操作,因此可以通过分析前端代码,查看接口的调用情况和参数,间接了解后端所有接口的业务逻辑和功能。

Nginx

反向代理服务器:Nginx 可以作为反向代理服务器,接收客户端的请求,并将请求转发给后端的多个服务器。通过反向代理,Nginx 可以隐藏后端服务器的真实 IP 地址、提供负载均衡和高可用性,并对客户端和服务器之间的通信进行优化。

  • 反向代理,其实客户端对代理是无感知的,因为客户端不需要任何配置就可以访问。
  • 我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器 地址,隐藏了真实服务器 IP 地址。

负载均衡器:Nginx 支持多种负载均衡算法(如轮询、加权轮询、IP 哈希、最少连接等),可以将请求分发到多个后端服务器上,以实现负载均衡,提高整个系统的性能和可伸缩性。

  • 增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡
  • 客户端发送多个请求到服务器,服务器处理请求,有一些可能要与数据库进行交互,服 务器处理完毕后,再将结果返回给客户端。
  1. 静态资源服务器:Nginx 可以快速、高效地提供静态资源(如 HTML、CSS、JavaScript、图片、视频等)的访问服务,同时支持 gzip 压缩和 HTTP 缓存等功能,提高资源传输的效率和网站加载速度。
  2. 反向代理缓存:Nginx 可以作为反向代理缓存服务器,缓存静态和动态内容,减轻后端服务器的负载,并加速客户端访问。它可以根据 HTTP 头信息、响应状态码和 URL 等条件进行灵活的缓存配置。

  3. SSL/TLS 终端:Nginx 支持 SSL/TLS 协议,可以作为 SSL/TLS 终端,对客户端和服务器之间的通信进行安全加密和解密,保护数据的机密性和完整性。

登录

基于session登录

短信验证码登录

配置登录拦截器

第一个更新token,第二个判断是否登录。

向 Spring MVC 框架中添加拦截器,LoginInterceptor 是一个自定义的拦截器,用于拦截用户的登录请求。

  1. excludePathPatterns这一句是设置拦截器需要放行的请求路径列表。

  2. "/user/code", "/user/login", "/blog/hot", "/shop/**", "/shop-type/**", "/upload/**", "/voucher/**": 这是放行请求的路径列表。这些路径表示用户在访问这些请求时,不会被拦截器拦截。

封装UserDTO,返回给前端的Entity数据使用BeanUtil工具类转成DTO

@Data 是一个注解,通常与 Lombok 库一起使用,它可以自动生成类的 getter、setter、toString()equals()hashCode() 方法,从而简化了 Java 类的编写。DTO 类用于在不同的层之间传输数据。

Session集群共享问题

什么是Session集群共享问题

当一个网站或应用部署在多个服务器上时,用户的会话数据(比如登录状态、购物车内容等)需要在这些服务器之间共享,以保证用户在不同服务器上的操作是一致的。然而,如果不采取特殊的措施,这些服务器之间并不会自动共享会话数据,而是会在各自的服务器上保存各自的会话数据。这就导致了会话数据的不一致性,造成了用户体验的问题,比如用户在一个服务器上登录了,但是在另一个服务器上却看不到登录状态。

如何解决Session集群共享问题

方案一:Session拷贝(不推荐),Tomcat提供了Session拷贝功能,通过配置Tomcat可以实现Session的拷贝,但是这会增加服务器的额外内存开销,同时会带来数据一致性问题。

Tomcat 是一个流行的开源的 Java 服务器,可以将 Java Web 应用程序部署到服务器上并提供服务。使用 Tomcat 的会话复制功能,也就是在集群环境下,将一个节点(服务器)的会话数据复制到其他节点上

这篇关于黑马点评项目总结及个人优化的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/989032

相关文章

vite搭建vue3项目的搭建步骤

《vite搭建vue3项目的搭建步骤》本文主要介绍了vite搭建vue3项目的搭建步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1.确保Nodejs环境2.使用vite-cli工具3.进入项目安装依赖1.确保Nodejs环境

Python版本与package版本兼容性检查方法总结

《Python版本与package版本兼容性检查方法总结》:本文主要介绍Python版本与package版本兼容性检查方法的相关资料,文中提供四种检查方法,分别是pip查询、conda管理、PyP... 目录引言为什么会出现兼容性问题方法一:用 pip 官方命令查询可用版本方法二:conda 管理包环境方法

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

MyCat分库分表的项目实践

《MyCat分库分表的项目实践》分库分表解决大数据量和高并发性能瓶颈,MyCat作为中间件支持分片、读写分离与事务处理,本文就来介绍一下MyCat分库分表的实践,感兴趣的可以了解一下... 目录一、为什么要分库分表?二、分库分表的常见方案三、MyCat简介四、MyCat分库分表深度解析1. 架构原理2. 分

linux查找java项目日志查找报错信息方式

《linux查找java项目日志查找报错信息方式》日志查找定位步骤:进入项目,用tail-f实时跟踪日志,tail-n1000查看末尾1000行,grep搜索关键词或时间,vim内精准查找并高亮定位,... 目录日志查找定位在当前文件里找到报错消息总结日志查找定位1.cd 进入项目2.正常日志 和错误日

在.NET项目中嵌入Python代码的实践指南

《在.NET项目中嵌入Python代码的实践指南》在现代开发中,.NET与Python的协作需求日益增长,从机器学习模型集成到科学计算,从脚本自动化到数据分析,然而,传统的解决方案(如HTTPAPI或... 目录一、CSnakes vs python.NET:为何选择 CSnakes?二、环境准备:从 Py

Docker多阶段镜像构建与缓存利用性能优化实践指南

《Docker多阶段镜像构建与缓存利用性能优化实践指南》这篇文章将从原理层面深入解析Docker多阶段构建与缓存机制,结合实际项目示例,说明如何有效利用构建缓存,组织镜像层次,最大化提升构建速度并减少... 目录一、技术背景与应用场景二、核心原理深入分析三、关键 dockerfile 解读3.1 Docke

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建