自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 redis脑裂问题

哨兵模式下,哨兵判断master下线的原理是:哨兵会不断的发送ping请求给master,如果master超过一定的时间没有回复,哨兵会将master设置为主管下线,然后哨兵会询问其他的哨兵master的状态,如果超过一定配额的哨兵认为master下线,则master被认为是客观下线。master也需要做一些配置,比如master脱离集群后,因为没有sentinnel能与其进行沟通,所以还是master的状态,某些客户端还可以进行请求,还可以写,这样也会丢失更新。1、redis哨兵下如何防止脑裂。

2023-08-23 16:31:29 96

原创 threadLocal问题总结

3、对于线程池的问题,可以使用TransmittableThreadLocal,在提交一个任务的时候,会把主线程上的所有的threadLocal都保存在runnable上(是新建的一个runnable类,不是jdk原生的runnable类),在任务开始执行的时候,会先把runnable上的threadLocal都赋值到执行的线程上,这样就可以获取到主线程了threadLocal数据了。但是对于线程池,这个逻辑也是无法行得通的,因为线程池的线程是复用的,不是新建的。

2023-08-22 15:50:19 327

原创 限流熔断降级 整理

有时候高,有时候低,如果流量特别高,就会导致cpu、内存吃紧,gc,导致处理能力下降,导致所有的请求都会受到影响;第二个影响是也会导致雪崩问题,因为一个接口的流量暴增引起的cpu压力增大、gc次数增加会导致其他的接口的处理速度也会下降,甚至导致整个服务不可用,对于上游来说,因为当前服务响应慢,导致比如rpc请求的连接的使用时间增加,会导致其连接数也会增加、同理线程也会增加,如果达到阈值,那么上游服务就没有连接数和线程可用,导致上游也不可用,所以会导致雪崩。,比如计算qps要计算过去多久的qps,一个是。

2023-07-23 17:40:36 61

原创 jdk的future的实现原理

先不写。

2023-07-22 16:24:39 55

原创 mysql总结

如果能复用,则将链表写入到每个回滚段的复用链表中,以便复用。innodb 里面除了trx_id以外,还会有一个叫做trx_no的东西,也是递增的,当事务提交的时候就会赋值给undo log,另外当形成一个read view的时候,会把当前系统重最大的trx_no+1复制给当前read view,假如当前trx_no最小的read view的trx_no是100,则trx_no小于100的事务的undo log都可以丢弃,因为小于100的事务都已经提交,且是更早就提交,只需要读取最新的数据即可。

2023-07-02 14:06:46 99

原创 kafka总结

kafka的非leader副本像消费者一样去拉取数据,拉取的请求中会带着自己的LEO,主节点响应拉取的请求,同时会根据LEO更新自己的HW,拉取的结果中含有数据和HW,从副本拉取到数据后写入到自己的节点同时更新自己的HW和LEO,然后做下一次的拉取。和solr一样,都是靠zk实现的,在一个节点下投票,生成一个有序节点,谁的节点的数字小就是leader,然后每个非leader都监听比自己小1的节点,等发生事件后,再重新选leader。LEO全称是log end offset,表示已经保存的消息的下标。

2023-06-27 19:33:09 28

原创 redis总结

redis持久化的方式有两种,一种是rdb方式,一种是aof方式。rdb存储rdb存储的是最终的数据,可以配置触发rdb的方式有两种,一种是save,一种是bgsave,前者会阻塞服务器响应其他的请求,后者是用一个子进程来操作,不会阻塞服务器,所以都要用后者。redis可以配置自动的保存,比如save 900 1,表示900秒内触发一次修改的操作就要出发生成rdb文件。rdb文件最终存储的实际的数据,相比于aof存储的是实际的操作命令。aof存储aop存储的是实际的命令,比如。

2023-06-25 16:19:54 31

原创 g1垃圾收集器的学习总结

在新生代中,每个region的rset中只记录老年代对其的引用,只要存在引用就认为该对象是存活的新生代不会记录,因为在做young gc的时候整个young区的所有的region都要扫描,所以不需要在rset中记录引用关系,但是老年代的要记录,因为老年代不会扫描。在新生代的收集中,是会全部stop the world的,所以要控制新生代的大小不能太大,而老年代的收集则会经历多个阶段,其中之后几个阶段是stw的,其他的阶段是和用户线程并行执行的,所以老年代的大小可以设置的很大,并不会影响性能。

2023-06-23 15:15:15 113

原创 url编码

关于html页面的charset编码对url中携带信息的影响和tomcat中配置URIEncoding对编码的影响。所有的实验过程在附件中。总结: 只要满足一下几点,所有的上传用get方法即可,也不会出现乱码。 · html页面采用UTF-8 · tomcat设置 URIEncoding=UTR-8 · 配置spring的CharacterEncodingFi...

2015-10-06 13:18:56 119

空空如也

空空如也

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

TA关注的人

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