- 博客(76)
- 收藏
- 关注
原创 The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received
Communications link failure\n\nThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
2024-01-26 09:44:34 4203 1
原创 EnableAutoConfiguration Attributes should be specified via @SpringBootApplic
Attributes should be specified via @SpringBootApplication
2023-08-15 10:07:18 436
原创 utf8_unicode_ci和utf8_general_ci字符集的区别
utf8_unicode_ci和utf8_general_ci字符集的区别
2023-05-10 09:07:59 405 1
原创 java.util.concurrent.TimeoutException: null
java.util.concurrent.TimeoutException: null,请求超时处理
2023-05-05 09:23:41 848
原创 java使用poi导出excel时,createCellStyle过多导致的异常
The maximum number of Cell Styles was exceeded. You can define up to 64000 style in a .xlsx Workbook 创建单元格样式时,有64000个单元格创建了单元格样式,导致报错
2023-05-05 09:13:16 923
原创 什么是微服务?
1、什么是微服务?2、微服务的相关技术栈:2.1 注册中心:2.2 配置中心:2.3 网关:2.4 分布式缓存:2.5 分布式搜索:2.6 消息队列:2.7 分布式日志服务:2.8 系统监控链路追踪:3、单体架构和微服务的区别:3.1 单体架构:3.2 分布式架构:4、微服务的特征:4.1 单一职责:4.2 面向服务:4.3 自治:4.4 隔离性强:5、服务拆分及远程调用:5.1 服务拆分的原则:5.2 服务的远程调用:1、什么是微服务?微服务是分布式架构的一种,分布式架构其实就是要把服务做一个拆分,.
2022-02-16 14:03:22 9100
原创 (九)消息队列——RabbitMQ的集群
消息队列——RabbitMQ的集群:一、集群分类1、普通集群2、镜像集群3、仲裁队列二、普通集群1、特征:三、镜像集群1、特征:四、仲裁队列1、特征:2、创建仲裁队列:消息队列——RabbitMQ的集群:一、集群分类1、普通集群是一种分布式集群,将队列分散到集群的各个节点,请求进来会被分发到不同的节点上去,从而提高整个集群的并发能力。但是这种集群有一个缺点就是如果一个节点宕机,它对应的队列和消息就会丢失。2、镜像集群是一种主从集群,普通集群的基础上,添加了主从备份功能,提高集群的数据可用性。.
2022-02-16 10:02:06 1614
原创 (八)消息队列——RabbitMQ的惰性队列
消息队列——惰性队列一、消息堆积问题:二、惰性队列:1、背景:2、惰性队列:3、设置惰性队列:三、总结:消息队列——惰性队列一、消息堆积问题:当生产者发送消息的速度超过了消费者处理消息的速度,就会导致队列中的消息堆积,直到队列存储消息达到上限。最早接收到的消息,可能就会成为死信,会被丢弃,这就是消息堆积问题。解决消息堆积有三种种思路:增加更多消费者,提高消费速度在消费者内开启线程池加快消息处理速度扩大队列容积,提高堆积上限二、惰性队列:1、背景:RabbitMQ的队列是内存存储的,.
2022-02-16 09:15:16 1657
原创 (七)消息队列——RabbitMQ的死信交换机、TTL、延迟队列的实现
消息队列——死信交换机一、初识死信交换机:1、什么是死信队列:2、消息什么时候会成为死信:3、队列如何绑定死信交换机:二、TTL:1、什么是TTL:2、设置:3、实现:三、延迟队列:1、什么是延迟队列:2、案例分析:3、延迟队列的实现:4、使用插件实现延迟队列:消息队列——死信交换机一、初识死信交换机:1、什么是死信队列:死信队列,英文缩写:DLX 。Dead Letter Exchange(死信交换机),当消息成为Dead message后,可以被重新发送到另一个交换机,这个交换机就是DLX。.
2022-02-15 23:55:17 1471
原创 (六)消息队列——如何确保 RabbitMQ 的消息可靠性
消息可靠性投递:一、问题分析:二、问题解决:1、生产者消息确认1.1 理论:1.2 实现:2、消息持久化2.1 理论:2.2 实现:3、消费者消息确认3.1 理论:4、消费失败重试机制4.1 理论:4.2 实现:三、总结:消息可靠性投递:一、问题分析:消息从生产者发送到exchange,再到queue,再到消费者,有哪些导致消息丢失的可能性?1.1 发送时丢失:a. 生产者发送的消息未送达exchangeb. 消息到达exchange后未到达queue1.2 MQ宕机;1.3 consu.
2022-02-15 21:28:46 533
原创 (五)消息队列——SpringBoot整合RabbitMQ
消息队列——SpringBoot整合RabbitMQ一、生产者:1、创建生产者SpringBoot工程:2、引入依赖坐标:3、编写yml基本信息配置:4、定义交换机,队列以及绑定关系的配置类:5、注入RabbitTemplate,调用方法,完成消息发送:二、消费者:1、创建消费者SpringBoot工程:2、引入依赖坐标:3、编写yml基本信息配置:4、定义监听类,使用@RabbitListener注解完成队列监听:三、总结:消息队列——SpringBoot整合RabbitMQ一、生产者:1、创建生.
2022-02-15 12:42:12 1272
原创 (四)消息队列——RabbitMQ的六种工作模式
消息队列——六种工作模式:一、简单模式:1、案例:消息队列——六种工作模式:一、简单模式:1、案例:
2022-02-15 10:51:41 3285
原创 (三)消息队列——AMQP的理解以及RabbitMQ概述
一、消息队列——AMQP的理解:二、RabbitMQ概述:1、RabbitMQ:2、基础架构:3、RabbitMQ的六种工作模式:一、消息队列——AMQP的理解:AMQP,即 Advanced Message Queuing Protocol(高级消息队列协议),是一个网络协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。生产者Publisher生产消息发送到交换机Exchange,由交换机分.
2022-02-14 21:09:31 2296
原创 (二)消息队列——ActiveMQ、Kafka、RocketMQ、RabbitMQ的比较
消息队列——ActiveMQ、Kafka、RocketMQ、RabbitMQ的比较一、ActiveMQ的优缺点:1、优点:2、缺点:二、Kafka的优缺点:1、优点:2、缺点:三、RocketMQ的优缺点:1、优点:2、缺点:四、RabbitMQ的优缺点:1、优点:2、缺点:四、MQ的选择:1.Kafka2.RocketMQ3.RabbitMQ消息队列——ActiveMQ、Kafka、RocketMQ、RabbitMQ的比较一、ActiveMQ的优缺点:1、优点:单机吞吐量万级,时效性 ms 级,.
2022-02-14 18:09:19 1781
原创 (一)消息队列——什么是消息队列及其作用
消息队列——什么是消息队列及其理解一、什么是 MQ:二、MQ 作用:1、流量削峰:2、消息队列——什么是消息队列及其理解一、什么是 MQ:MQ(message queue),从字面意思上看,本质是个队列,FIFO 先入先出,只不过队列中存放的内容是message 而已,还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ 是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务。使用了 MQ 之后,消息发送上游只需要依赖 MQ,不用依赖其他服务。上游给下游发送消息,只需要将消息放到.
2022-02-14 17:49:54 3365
原创 Zookeeper的认识和操作
Zookeeper——初识Zookeeper一、认识:二、Zookeeper命令操作:(一)Zookeeper 数据模型:(二)Zookeeper 服务端常用命令:(三)Zookeeper 客户端常用命令:三、Zookeeper JavaAPI操作:(一)Curator 介绍:(二)Curator API 常用操作:1、建立连接:2、添加节点:3、删除节点:4、修改节点:5、查询节点:6、Watch事件监听:三、分布式锁:1、什么是分布式锁:2、分布式锁原理:2.1 理解:2.2 分布式锁的五种方案:2..
2022-02-14 15:04:07 1001
原创 (四)分布式缓存——Redis分片集群
分布式缓存——Redis分片集群:一、分片集群:1、分片集群特征:二、散列插槽:1、散列插槽:2、总结:2.1 Redis如何判断某个key应该在哪个实例?2.2 如何将同一类数据固定的保存在同一个Redis实例?三、集群伸缩:1、集群伸缩:2、添加节点:四、故障转移:五、RedisTemplate访问分片集群:分布式缓存——Redis分片集群:一、分片集群:Redis使用主从集群后,虽然解决了高并发读的问题,但是主从的数据同步的性能也需要提升,其中一个提升就是redis点节点的内存不要设置太高,否.
2022-02-13 17:41:38 2209
原创 (三)分布式缓存——Redis哨兵机制
分布式缓存——Redis哨兵机制一、哨兵的作用和原理:1、哨兵机制的作用:2、哨兵如何监测节点的状态:3、哨兵如何选举新的master:4、哨兵如何实现故障转移:5、总结:二、RedisTemplate的哨兵模式:RedisTemplate和Sentinel的整合:分布式缓存——Redis哨兵机制一、哨兵的作用和原理:1、哨兵机制的作用:Redis提供了哨兵(Sentinel)机制来实现主从集群的master、slave的自动故障恢复。哨兵的结构和作用如下:作用——监控: Sentinel 会不.
2022-02-13 13:12:06 3543
原创 (二)分布式缓存——Redis主从架构
分布式缓存——Redis主从架构一、搭建主从架构:1、背景:2、主从节点搭建:2.1 开启多个Redis服务2.2 建立这些Redis之间的主从关系:2.3 查看结果:二、主从数据同步原理:1、 主从同步的第一步——全量同步:2、全量同步的流程:3、slave重启后的同步——增量同步:4、优化Redis主从架构:5、总结:分布式缓存——Redis主从架构一、搭建主从架构:1、背景:单节点Redis的并发能力是有上限的,要进一步提高Redis的并发能力,就需要搭建主从集群,实现读写分离。因为Re.
2022-02-13 12:12:16 2885
原创 (一)分布式缓存——Redis持久化之RDB和AOF
分布式缓存——redis持久化一、前言:了解单点redis的问题:二、RDB持久化:1、RDB:2、何时执行RDB:2.1 手动执行RDB:2.2 自动执行RDB:2.3 每个一段时间执行一次RDB:3、RDB底层原理:3.1 子进程执行RDB:3.2 如何执行RDB:3.3 存在的问题:3.4 缺点:三、AOF持久化:1、AOF:2、AOF配置:2.1 开启AOF:3、AOF原理:4、RDB文件和AOF文件的区别:四、RDB和AOF的比较:分布式缓存——redis持久化一、前言:了解单点redis.
2022-02-13 11:06:03 2199 2
原创 (二)分布式事务——Seata、XA、TCC、AT、SAGA模式
分布式事务——Seata一、Seata的架构:1、什么是Seata:二、部署TC服务,微服务集成Seata:三、XA模式:1、认识:2、执行原理:3、Seata的XA模式:4、总结:5、实现:四、TCC模式:1、模式原理:2、优缺点:3、案例:4、新概念:五、AT模式:1、AT模式原理:2、AT模式的脏读问题:3、全局锁:4、全局锁和XA中事务不提交占用锁资源的区分:5、优缺点:6、实现:六、SAGA模式:1、Soga模式原理:2、优缺点:七、四种模式的对比:分布式事务——Seata一、Seata的架.
2022-02-12 21:53:46 7664 7
原创 (一)分布式事务——CAP、BASE理论
分布式事务——理论基础一、分布式事务和单体的事务:二、什么是分布式事务:三、理论基础:1、CAP定理:1.1 一致性:1.2 可用性:1.3 分区容错性:1.4 CAP理论的理解:2、BASE理论:2.1 Basically Available(基本可用):2.2 Soft State(软状态):2.3 Eventually Consistent(最终一致性):2.4 解决问题:分布式事务——理论基础一、分布式事务和单体的事务:以前使用单体架构,往往只有一个服务,使用一个数据库,完成业务的各种要求,.
2022-02-12 16:30:49 673
原创 (四)微服务保护——授权规则
微服务保护——授权规则一、授权规则:二、自定义异常结果:1、BlockException异常的类型:2、自定义异常:三、规则持久化:1、原始模式:2、pull模式:3、push模式:微服务保护——授权规则一、授权规则:授权规则可以对调用方的来源做控制,有白名单和黑名单两种方式。白名单:来源(origin)在白名单内的调用者允许访问黑名单:来源(origin)在黑名单内的调用者不允许访问例如,我们限定只允许从网关来的请求访问order-service,那么流控应用中就填写网关的名称。但是如何判.
2022-02-12 13:37:13 719
原创 (三)微服务保护——隔离和降级
微服务保护——隔离和降级一、FeignClient整合Sentinel:二、线程隔离:1、线程池隔离:2、信号量隔离(Sentinel默认使用)3、两者的对比:三、熔断降级:1、认识:2、熔断策略:2.1 慢调用:2.2 异常比例和异常数:微服务保护——隔离和降级关于服务隔离和降级的概念,入门理解,见(一)微服务保护——Sentinel使用Sentinel限流可以降低服务的负载,从而避免服务因为过高并发而出现故障,服务不出现故障就不会把故障传递给其他服务,也就不会出现雪崩现象。所以限流是对服务故障.
2022-02-12 12:49:26 1045
原创 (二)微服务保护——限流规则
(二)微服务保护——限流规则一、快速入门:1、簇点链路:二、流控模式:(一)三种模式:(二)关联模式:1、例子:2、 使用场景:3、案例:(三)链路模式:1、例子:2、案例三、流控效果:(一)流控效果的种类1、快速失败:2、warm up预热模式:3、排队等待:(二)预热模式:(三)排队等待:四、热点参数限流:(一)理解:(二)微服务保护——限流规则一、快速入门:1、簇点链路:簇点链路:就是项目内的调用链路,链路中被监控的每个接口就是一个资源。默认情况下sentinel会监控SpringMVC的.
2022-02-12 11:29:18 1451
原创 (九)elasticSearch的数据同步
elasticSearch的数据同步:一、数据同步思路分析:数据同步问题分析二、实现elasticsearch与数据库数据同步elasticSearch的数据同步:一、数据同步思路分析:数据同步问题分析elasticsearch中的酒店数据来自于mysql数据库,因此mysql数据发生改变时,elasticsearch也必须跟着改变,这个就是elasticsearch与mysql之间的数据同步。在微服务中,负责酒店管理(操作mysql )的业务与负责酒店搜索(操作elasticsearch ).
2022-02-07 17:21:31 1978
原创 (七)elasticSearch的数据聚合
elasticSearch的数据聚合一、聚合的种类0、聚合:1、桶(Bucket)聚合:2、度量(Metric)聚合:3、管道(pipeline)聚合:4、其他聚合类型二、DSL实现聚合1、DSL实现bucket的TermAggregation2、DSL实现Metric的聚合:三、RestAPI实现聚合1、聚合 发送请求 语法示例:2、聚合 接收响应 语法示例:3、案例实现:elasticSearch的数据聚合一、聚合的种类0、聚合:聚合是对文档数据的统计、分析、计算参与聚合的字段类型必须是:k.
2022-01-30 14:12:34 2072
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人