压力测试与性能监控
一.压力测试性能指标
响应时间(Response Time: RT)响应时间指用户从客户端发起一个请求开始,到客户端接收到从服务器端返回的响应结束,整个过程所耗费的时间。
HPS(Hits Per Second) :每秒点击次数,单位是次/秒。
TPS(Transaction per Second):系统每秒处理交易数,单位是笔/秒。
QPS(Query per Second):系统每秒处理查询次数,单位是次/秒。对于互联网业务中,如果某些业务有且仅有一个请求连接,那么 TPS=QPS=HPS,一般情况下用 TPS 来衡量整个业务流程,用 QPS 来衡量接口查询次数,用 HPS 来表示对服务器单击请求。
无论 TPS、QPS、HPS,此指标是衡量系统处理能力非常重要的指标,越大越好,根据经验,一般情况下:
金融行业:1000TPS~50000TPS,不包括互联网化的活动
保险行业:100TPS~100000TPS,不包括互联网化的活动
制造行业:10TPS~5000TPS
互联网电子商务:10000TPS~1000000TPS ...
Thymeleaf教程
Thymeleaf 是一个服务器端 Java 模板引擎,能够处理 HTML、XML、CSS、JAVASCRIPT 等模板文件。Thymeleaf 模板可以直接当作静态原型来使用,它主要目标是为开发者的开发工作流程带来优雅的自然模板,也是 Java 服务器端 HTML5 开发的理想选择。
教程: https://www.thymeleaf.org
项目集成Thymeleaf1.导入依赖
12345<!-- thymeleaf--><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId></dependency>
2.添加配置
1spring.thymeleaf.cache=false #关闭缓存(后面使用devtools进行热更新也要关闭缓存)
3.在HTML文件中引入名称空间
1<html xmlns:th=&quo ...
ElasticSearch
官网: https://www.elastic.co/cn/elasticsearch/
简介 Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。作为 Elastic Stack 的核心,Elasticsearch 会集中存储您的数据,让您飞快完成搜索,微调相关性,进行强大的分析,并轻松缩放规模。
一.基本概念1.Index(索引)
动词:相当于mysql的insert
名词:相当于mysql的database
2.Type(类型)
在index中可以定义一个或者多个类型
类似于mysql中的Table;每一种类型的数据放在一起
3.Document(文档)
保存在某个索引(index)下,某种类型(Type)的一个数据(Document),文档是JSON格式的,
Document就是像mysql中的某个Table里面的内容。
4.倒排索引
二.Docker安装ElasticSearch1.安装ElasticSearch(存储和检索数据)1234567891011121314151617181920212223242 ...
数据校验
在前端接收数据和前端向后端传递数据的时候,都需要进行数据校验,避免传入错误的信息,比如在需要传入一个非空的值时,传入了一个空字符串,需要传入邮箱号码的时候,传入的非邮箱格式的数据。同时在写接口时经常要写效验请求参数逻辑,这时候我们会常用做法是写大量的 if 与 if else 类似这样的代码,大量if-else代码看起来比较混乱,降低了代码的可读性。
一.JSR303数据校验1.引入依赖12345<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>6.0.7.Final</version></dependency>
2.给实体类添加校验注解,并定义自己的message提示常用的检验注解
示例
123456789101112131415161718192021222324252627282930313233343536 ...
Linux中开发环境的搭建
一.Linux操作系统的安装与配置软件:VMware 、Linux镜像文件VMWare虚拟机安装Linux教程 | The Blog (qingling.icu)
二.配置Java环境2.1.删除自带的JDK
123456#查看系统是否有java环境java -version# 查找Linux中已有的java环境的相关文件rpm -qa |grep java# 执行命令 删除上面的java文件rpm -e --nodeps +上面查找出来的文件
2.2.安装JDK
12345678910111213141516#创建一个文件夹,将JDK8上传到这个文件夹中去mkdir /opt/jdk# 解压上传的压缩包 解压后得到一个名为jdk1.8.0_261的文件夹tar -zvxf jdk-8u261-linux-x64.tar.gz# 创建一个目录,作为java的安装目录mkdir /usr/local/java#将解压后的文件移动到这个安装目录中去mv jdk1.8.0_261/ /usr/local/java/#配置环境变量#进入环境变量的配置文件中vim /etc/profile#在 ...
开发环境的搭建
1.后端环境搭建1.1 JDK环境的配置常规的安装,无需教程
IDEA中设置默认的JDK
选中需要设置为默认JDK的JDK
1.2 Maven的安装与配置环境变量的配置
MAVEN_HOME和Path 配置文件的配置
设置默认maven,每次创建新的工程的时候就会使用这个maven
然后在弹出的页面中设置,这样每次创建新的工程就会使用当前设置的maven
1.3 IDEA的配置展开目录树 取消勾选下面的选项
快捷键的配置 IDEA中的全局查找的快捷键会和windows的中文的繁简字体切换的快捷键冲突,直接关掉系统的快捷键
页面中字体的配置
代码字体的配置
设置代码粗体
打开的多个文件多行显示,不在同一行显示
浅色主题的配置
修改注释的颜色
修改多行注释的颜色: 修改Doc comment -> Text的颜色
1.4 mysql的安装具体的安装教程在《MySql5.7的安装教程的博客中》
1.5 Nacos的安装配置github下载之后,直接解压运行
下载的地址:https://github.com/alibaba/nacos/release ...
ElementUI使用示例
ElementUI官网
一.树形显示-树形控件1.树形显示示例-以谷粒商城项目的商品分类为例
数据中商品分类的数据表,所有的分类数据在同一张表中
商品分类的实体类
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566package com.atguigu.gulimall.product.entity;import com.baomidou.mybatisplus.annotation.TableField;import com.baomidou.mybatisplus.annotation.TableId;import com.baomidou.mybatisplus.annotation.TableName;import java.io.Serializable;import java.util.Date;import java.util.List;import lombok.Data; ...
Mybatis-Plus的使用教程
官方文档:MyBatis-Plus
常用插件1.公共字段填充 对于每个实体类共有的属性字段,例如创建时间、修改时间、创建人、修改人,我们可以使用公共字段填充,来统一填充这些字段,这样我们在创建这些实体类的对象的时候就不需要set这些属性,实现丝滑开发
1234@TableField(fill = FieldFill.INSERT) //插入的时候填充private String gmtCreate;@TableField(fill = FieldFill.INSERT_UPDATE)//插入和修改的时候填充private String gmtModified;
第一种配置的方法
123456789101112131415161718192021222324252627282930313233343536373839package com.itheima.config;import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;import org.apache.ibatis.reflection.MetaObje ...
Git命令速查
安装教程
官网下载:https://git-scm.com/downloads
123456789101112131415161718#以下的操作在下载安装完毕之后进行#1.鼠标在桌面右键 选择Git Bash Here 打开控制台#2.配置用户名和邮箱git config --global user.name "用户名" #随意git config --global user.email "邮箱" #自己的邮箱#3.配置SSH免密连接#生成密钥ssh-keygen -t rsa -C "在码云上注册的邮箱地址" #连续三次回车#查看密钥并复制公钥的内容cat ~/.ssh/id_rsa.pub#4.将密钥的复制到码云的SSH公钥中#4.1添加公钥 公钥名随意 公钥内容就是上面复制的内容#5.测试ssh -T git@gitee.com
常用命令
项目实战-谷粒商城
一.项目简介1.项目背景电商模式 谷粒商城使用的B2C模式,销售自营的商品给客户
市面上5种常见的电商模式B2B、B2C、C2B、C2C、O2O
1、B2B模式:business to business,是指商家与商家建立的商业关系。如阿里巴巴。
2、B2C模式:business to consumer,商对客模式。即通常说的商业零售,供应商直接把商品卖给用户。如:苏宁易购、京东、天猫、小米商城。
3、C2B模式:customer to business,即消费者对企业。先有消费者需求而后有企业生产。例如众筹类的商城。
4、C2C模式:customer to consumer,客户之间直接把东西放上网上去卖。如:淘宝、闲鱼。
5、O2O模式:online to offline,线上线下。线上快速支付,线下优质服务。如:饿了么、美团、京东到家。
2.项目架构图项目的架构图
微服务划分图
3.项目技术和特色
前后端分离开发,开发基于VUE的后台管理系统
SpringCloud全新解决方案
应用监控、限流、网关、熔断降级等分布式方案 全方位涉及
包含分布式事务、分布式锁等技术难点
分析 ...