摘要: 在RPC框架中,粘包和拆包问题是必须解决一个问题,因为RPC框架中,各个微服务相互之间都是维系了一个TCP长连接,比如dubbo就是一个全双工的长连接。由于微服务往对方发送信息的时候,所有的请求都是使用的同一个连接,这样就会产生粘包和拆包的问题。本文首先会对粘包和拆包问题进行描述,然后介绍其常用的解 阅读全文
posted @ 2020-12-22 21:28 姚春辉 阅读(671) 评论(0) 推荐(0) 编辑
摘要: 1、粘包产生的原因 如果客户端连续不断的向服务端发送数据包时,服务端接收的数据会出现两个数据包粘在一起的情况,这就是TCP协议中经常会遇到的粘包以及拆包的问题。 传输层的UDP协议是否会发生粘包或者拆包问题? 不会。UDP是基于报文发送的,在UDP首部采用了16bit来指示UDP数据报文的长度,因此 阅读全文
posted @ 2020-12-22 21:25 姚春辉 阅读(3106) 评论(0) 推荐(0) 编辑
摘要: 一、DelayQueue是什么 DelayQueue是一个无界的BlockingQueue,用于放置实现了Delayed接口的对象,其中的对象只能在其到期时才能从队列中取走。这种队列是有序的,即队头对象的延迟到期时间最长。注意:不能将null元素放置到这种队列中。 二、DelayQueue能做什么 阅读全文
posted @ 2020-12-22 21:17 姚春辉 阅读(443) 评论(0) 推荐(0) 编辑
摘要: 分布式锁三种实现方式: 1 2 3 1. 基于数据库实现分布式锁; 2. 基于缓存(Redis等)实现分布式锁; 3. 基于Zookeeper实现分布式锁; 一, 基于数据库实现分布式锁 1. 悲观锁 利用select … where … for update 排他锁 注意: 其他附加功能与实现一基 阅读全文
posted @ 2020-12-22 20:46 姚春辉 阅读(284) 评论(0) 推荐(0) 编辑