自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 资源 (1)
  • 收藏
  • 关注

原创 09-设计模式

那当某个方法参数或变量是 List接口类型时,既可以是 ArrayList的实现, 也可以是 LinkedList。对扩展开放和对修改关闭表示 当一个类或一个方法有新需求 或者 需求发生改变时 应该。一个类只负责完成一个职责或者功能。替换的前提是面向对象语言所支持的。对扩展开放,对修改关闭。的实现,这就是替换。

2023-09-21 21:30:38 208

原创 08-分布式

在高并发场景的架构里,幂等性是必须得保证的。比如说提交作业。每次操作,都根据操作和内容生成唯一的id,在执行之前先判断id是否存在,如果不存在,则执行后续操作,并且保存到数据库或者redis等。由于重复点击或者网络重发,或者nginx重发等情况会导致数据被重复提交。前端在数据提交前要向后端服务申请token,如果在token有效时间内,提交后台校验token,同时删除token,生成新的token返回。判断token是否存在redis中,存在表示第一次请求,可以继续执行业务,执行业务完成后,最。

2023-09-12 12:00:17 394

原创 07-Spring Cloud

通过集群的方式:减少响应时间、提高吞吐量 并发用户数等,通过增加服务器性能、 扩展服务实例的方式:程序处理速度考虑。

2023-09-08 17:31:00 426

原创 06-mq

rabbitmq里创建用户,必须要被指派给至少一个vhost,并且只能访问被指派内的队列、交换器和。Vhost必须通过rabbitmq的管理控制工具创建。2版本的需要使用zookeeper,用来存放topic。又可以避免队列和交换器的命名冲突。,就可以完全抛弃zookeeper。新版本的kafka可以不用,对队列中消息的条数进行。

2023-09-06 17:59:06 513

原创 01-Kafka

3、在/opt/kafka_2.12-1.0.2目录中输入kafka-按住tab键,如果能调出其他的指令说明我们配置。:49.234.5.32:2181,后面的 myKafka 是Kafka在Zookeeper中的根节点路径。--replication-factor 创建的副本个数,用来实现高可用。我们创建这个目录/var/niko/kafka/kafka-logs。进入到/opt/zookeeper-3.4.14/bin目录。9、此时Kafka是前台模式启动,要停止,使用Ctrl+C。

2023-09-06 12:11:57 594

原创 05-Redis

定期删除,redis默认每个100ms检查,是否有过期的key,有过期key则删除。需要说明的是,redis。1、Redis服务器可以处理8万到10万 QPS,对于80%的公司来说,单线程的Redis已经足够使用。是,惰性删除派上用场。Redis提供了简单的事务功能,将一组需要一起执行的命令放到multi和exec两个命令之间。不是每个100ms将所有的key检查一次,而是随机抽取进行检查,如果这块区域超过25%过期,会。3、但随着越来越复杂的业务场景,有些公司动不动就上亿的交易量,因此需要更大的QPS。

2023-09-04 09:19:05 693

原创 04-MySQL02

自适应Hash索引(Adatptive Hash Index,内部简称AHI)是InnoDB的三大特性之一,还有两个是 Buffer Pool简称BP、双写缓冲区(Doublewrite Buffer)。1、自适应即我们不需要自己处理,当InnoDB引擎根据查询统计发现某一查询满足hash索引的数据结构特点,就会给其建立一个hash索引;2、hash索引底层的数据结构是散列表(Hash表),其数据特点就是比较适合在内存中使用,自适应Hash索引存在于InnoDB架构中的缓存中。

2023-09-02 09:05:48 300

原创 03-MySQL

页结构整体上可以分为三大部分,分别为通用部分(文件头、文件尾)、存储记录空间、索引部分。最佳左前缀法则:如果创建的是联合索引,就要遵循该法则. 使用索引时,where后面的条件需要从索引的最左前列开始使用,并且不能跳过索引中的列使用。* 场景1: 按照索引字段顺序使用,三个字段都使用了索引,没有问题。* 场景2: 直接跳过user_name使用索引字段,索引无效,未使用到索引。* 场景3: 不按照创建联合索引的顺序,使用索引。

2023-08-31 17:53:20 440 2

原创 02-MyBatis

1、MyBatis框架的初始化操作。系统启动的时候会加载解析全局配置文件和对应映射文件。加载解析的相关信息存储在 Configuration 对象,Configuration是SqlSessionFactory类中的一个属性。2、处理SQL请求的流程。用图表示:SqlSessionFactory: new DefaultSqlSessionFactory 全局配置文件的加载解【Configuration】,映射文件的加载解析【Configuration,MappedStatement】

2023-08-20 18:22:40 238

原创 01-关于new Object()的问题

在使用单例模式的时候有两种方式:方式一:new 一个对象,通过提供的一个方法供外界访问。懒汉式,就是用到的时候,我在去创建对象。在多线程的情况下就会产生问题,需要用到Double Check Lock,判断两次,中间加锁。

2023-08-19 18:57:34 207

原创 30-使用RocketMQ做削峰处理

在出票模块里,

2023-07-26 21:02:43 1645

原创 29-使用RocketMQ做削峰处理

3、JVM启动参数要添加上nameserver的地址,让dashboard和nameserver关联起来。,以避免生产集群出现大量无效主题,无法管理和回收,造成集群注册压力增大,影响生产集群的稳定性。配置,会自动为发送的消息创建 Topic,但该特性仅推荐在初期测试时使用。如果 Broker没有启动起来,删除~/store目录下的文件。进入到mq的目录,启动nameserver。进入到mq的目录,启动 Broker。下载源码,使用idea打开项目。进入到mq的目录,发送消息。进入到mq的目录,接收消息。

2023-07-22 23:39:43 626

原创 28- 使用令牌大闸防止机器人刷票,减轻服务器压力

【代码】28- 使用令牌大闸防止机器人刷票,减轻服务器压力。

2023-07-22 00:06:07 313

原创 27-使用Sentinal组件进行请求限流降级

比如统计每秒的请求数,当前是第2.5秒,统计的时候是2秒到现在的请求数。

2023-07-19 01:41:59 241

原创 26-分布式锁

将jmeter.properties文件中的sampleresult.default.encoding=UTF-8。将jmeter.properties文件中的language=zh_CN。我们再次发送请求的时候,就可以通过结果树查看Response。用来测试有多少线程发送请求。

2023-07-15 18:35:25 251

原创 25-分布式事务----Seate

Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。

2023-07-12 19:11:31 444

原创 24-缓存击穿、缓存穿透、缓存雪崩

一个热点的key失效后,导致大量请求直接访问数据库。

2023-07-12 16:39:45 195

原创 23-MyBatis缓存、本地缓存、分布式Redis缓存、前端缓存

MyBatis一级缓存、> MyBatis二级缓存、> 本地缓存:单节点> 分布式Redis缓存:多节点> 前端sessionStorage缓存:会话缓存> 前端localStorage缓存:前端本地缓存。

2023-07-12 00:08:40 841

原创 22-Nacos注册中心

我们项目中业务模块都会用到Nacos,我们将有关Nacos依赖导入到common模块。

2023-07-10 18:24:02 302

原创 21-Nacos配置中心

已经使用过了Spring cloud提供的Geteway、openFeign。相当于通讯录,让应用之间相互认识。用途: 实例的健康检查。 路由转发:为了控制成本,会对机器做动态扩容,此时IP就不固定了。 远程调用。动态修改线上的配置。用途: 开关。 阈值。 枚举项。2.2、 Nacos文档2.3、 Github下载Nacos 2.4、Spring Cloud Alibaba 和 Spring Clo

2023-07-09 21:46:59 386

原创 16-后端实现买票选座的功能(重点重点重点)

对于重要的功能,我们要在接口入口落库,留下痕迹,方便做统计。主键一般跟业务无关,每次重新生成数据,ID都会变;唯一键一般跟业务有关,每次重新生成数据,唯一键数据不会变。

2023-07-04 16:58:46 688 1

原创 13-使用调度框架quartz,为系统增加定时调度功能

在要执行的任务类上添加@DisallowConcurrentExecution禁用并发执行。cron从左到右(用空格隔开):秒 分 小时 月份中的日期 月份 星期中的日期 年份。在com.wei.ticket.batch.config创建配置文件,文件比较固定。并发执行:上一周期还没执行完,下一周期又开始了。修改日志文件输出路径为log/batch。2、没法实时更改定时任务状态和策略。1、适合单体应用,不适合集群。执行的策略:cron表达式。让数据库存储定时任务信息。执行的内容:功能逻辑。

2023-06-27 11:21:34 166

原创 12-自制前后端代码生成器

主要是前端的东西,后端较少。

2023-06-26 10:51:14 212

原创 11-会员基础功能的实现

【代码】11-会员基础功能的实现。

2023-06-13 14:30:38 746

原创 10-前端添加拦截器

1、所有的请求头添加token,token过期、没有token的响应统一添加报错提醒,跳转到登录页面。在ticketweb/src/main.js文件。

2023-06-12 17:14:50 464

原创 09-为Gateway模块设置过滤器校验Token

前端请求带上token,放在header里。后端校验token有效性,在gateway里统一校验。

2023-06-12 15:29:31 545

原创 08-前端保存token

-- 导入session-storage.js--><noscript>

2023-06-12 11:59:27 1330

原创 07-根据Hutool工具的JWT实现单点登录功能

*** 盐值很重要,不能泄漏,且每个项目都应该不一样,可以放到配置文件中*//**** 使用JWT生成Token* @param id 需要再token中保存的用户主键id* @param mobile 需要再token中保存的用户手机号* @return 生成token*/// 当前时间// 设置有效期// 设置token中的Payload 载荷信息// 签发时间// 过期时间// 生效时间// 保存的内容// 生成token 使用key作为salt。

2023-06-10 17:50:34 1457

原创 06-发送短信验证码实现登录功能

3、双向绑定:修改变量值,则元素展现的值也会变化;反过来,用户操作元素,则script里的变量也会发生变化。style 样式进行布局的部分。template 展现页面元素的部分。script 逻辑的部分。vue3两种声明响应式变量:reactive, ref。1、一个vue页面,由三个部分组件,都不是必须的。vue文件即可以是一个页面,也可以是一个组件。

2023-06-08 18:34:56 995

原创 05-使用Vue3 + Vue CLI 实现前端模块的搭建

流程:安装node得到npm,使用npm安装vue cli(脚手架),使用vue cli创建项目。Vue CLI版本和Node版本有关,用Node V12只能下载到Vue CLI V4.X,必须用Node V18才能下载到Vue CLI V5.XIDEA支持配置多个版本的Node,类似配置多个JDK。1、官网下载pkg,傻瓜式安装。2、安装路径3、配置nodejs的环境变量打开Mac 终端,配置全局环境变量4、重新打开终端,输入node,就会进入node环境。

2023-06-08 14:20:26 631

原创 01-SpringBoot加载配置文件、静态资源的优先级

优先级 1:导入的jar包所在目录下的子目录 config 文件夹中下的子目录中优先级 2:导入的jar包所在目录下的子目录 config 文件夹中优先级 3:导入的jar包所在目录同级目录下优先级 4:类路径(resource资源文件或者java目录下)下的子目录 config 文件夹中优先级 5:类路径(resource资源文件或者java目录下)下的配置文件(默认创建的配置文件位置)

2023-06-05 12:37:35 400

原创 04-Springbooot与Spring Cloud Alibaba搭建后端架构

在父工程中创建一个http文件夹,新建文件member-test.http,名字随意,但是一定要以http结尾,settings.xml,配好了阿里镜像。

2023-06-04 16:26:15 1474

原创 03-SpringBoot3&JDK9~17新特性

前提是已经配置好了Jdk的环境变量。

2023-06-01 18:06:33 697

原创 02-项目系统架构

商品秒杀,双11微信支付宝平台微博突发热点用户操作日志购票平台。

2023-06-01 13:39:07 392

原创 01-项目介绍

千万级流量的大型分布式系统架构设计。高性能、高并发、高可用场景解决方案。

2023-06-01 11:40:18 476

原创 18- 弹幕系统设计

WebSocket协议是基于TCP的一种新的网络协议。它实现了浏览器与服务器全双工(Full-Duplex)通信。全双工(Full-Duplex)通信:客户端可以主动发送信息给服务端,服务端也可以主动发送信息给客户端。WebSocket协议优点:报文体积小、支持长连接。

2023-05-30 09:27:42 1316

原创 17-视频详情接口

【代码】17-视频详情接口。

2023-05-29 15:13:37 109

原创 16-添加视频投币、查询视频投币的数量

【代码】16-添加视频投币、查询视频投币的数量。

2023-05-29 15:05:53 115

原创 15-增加收藏视频、取消收藏视频、查询收藏视频的数量

2、实体类3、VideoCollectionController4、VideoCollectionService5、VideoCollectionServiceImpl6、VideoCollectionDao

2023-05-29 10:51:22 121

原创 14-添加视频点赞、取消视频点赞、查询视频点赞数量

2、实体类3、VideoLikeController4、VideoLikeService5、VideoLikeServiceImpl6、VideoLikeDao

2023-05-29 10:28:08 158

quartz创建的数据表

quartz创建的数据表

2023-06-27

MD5加密单向加密算法加密速度快,不需要秘钥,最好加盐

MD5加密单向加密算法加密速度快,不需要秘钥,最好加盐

2023-05-12

RSA加密 非对称加密,有公钥和私钥之分,公钥用于数据加密,私钥用于数据解密 加密结果可逆

RSA加密 非对称加密,有公钥和私钥之分,公钥用于数据加密,私钥用于数据解密 加密结果可逆

2023-05-12

AES: Advanced Encryption Standard AES对称加密算法

AES: Advanced Encryption Standard AES对称加密算法

2023-05-12

控制系统设计

这是一个文档 而且是大学里面的 大家可以看下 非常的好 我是觉得不错

2017-12-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除