- 博客(7)
- 收藏
- 关注
原创 MQ消息丢失的可能原因与解决方案
confirm机制是为了解决事务性能问题的一种方案,我们可以通过使用channel.confirmSelect方法开启confirm模式,在生产者开启了confirm模式之后,每次写的消息都会分配一个唯一的id,然后如果写入了rabbitmq之中,rabbitmq会给你回传一个ack消息,告诉你这个消息发送OK了;事务机制和 confirm 机制最大的不同在于,事务机制是同步的,你提交一个事务之后会阻塞在那儿,但是 confirm 机制是异步的。如果消费者的负载过重,无法及时处理消息,可能会导致消息丢失。
2024-07-07 23:13:40
1534
原创 cpu飚高怎么排查
步骤6:使用jstack命令,查看栈信息 jstack 进程ID|grep -A 200 线程ID(16进制过后的)步骤3:接下来就需要查看这个进程中每个线程的CPU使用情况,同样使用top -Hp PID(进程ID)命令查看。步骤4:通过以上top命令,基本可以定位到导致CPU使用率较高的具体线程了。那么接下来就定位到底是哪一行。步骤1:遇到这种问题,首先是登录服务器看一下具体使用情况,使用TOP命令,查看CPU占用情况。根据这个命令可以找到具体哪个线程占用CPU最高,找到线程ID,
2024-06-28 22:44:58
145
原创 常见的新生代和老年代的垃圾回收算法有哪些
新生代主要存放生命周期较短的对象,其垃圾回收算法主要包括:老年代主要存放生命周期较长的对象,其垃圾回收算法主要包括:
2024-06-27 14:39:01
322
原创 ES 的分布式架构原理
ElasticSearch 设计的理念就是分布式搜索引擎,底层其实还是基于 lucene 的。核心思想就是在多台机器上启动多个 ES 进程实例,组成了一个 ES 集群。ES 中存储数据的基本单位是索引,很多情况下,一个 index 里可能就一个 type,但是确实如果说是一个 index 里有多个 type 的情况(注意, mapping types 这个概念在 ElasticSearch 7. X 已被完全移除,详细说明可以参考官方文档),你可以认为 index 是一个类别的表,具体的每个 type 代表
2024-06-27 08:23:46
551
原创 mysql慢查询优化
sql的jion操作不建议超过3张表,将复杂的sql,拆分成多个小的ssql 单个表执行,获取结果,在程序中进行封 装,如果Jion占用的资源越多,会导致其他进程等待时间变长。情况1:sql1:每小时执行10000次,每次20个IO 优化每次18个IO, 每小时节省2万次IO。查询语句写的差、索引失效、关联查询太多jion、服务器调优及各个参数设置。1、优先优化高并发执行的sql,因为高并发的sql发生问题带来的后果更严重。最好的情况消耗的资源,最差的情况消耗的资源,优化结果给用户一个好的体验。
2024-06-26 10:48:49
317
1
原创 说下MySQL的索引
(>、<、between、like)后就会停止,因为显然一个字段一定范围内的数据其下一个字段并不是有序的,无法使用索引,比如查询条件a=3 and b=4 and c>5 and d=6如果建立(a,b,c,d)顺序的索引,d是用不到索引的。(二级索引):辅助索引通常是对主键之外的字段建立的索引,其叶节点并不存储完整数据,而是存储主键值,通过辅助索引查到主键值后,再通过主键值到聚簇索引中查找对应的数据,这种需要二次查表的过程也称为。:通过将多个字段组合成一个索引,该索引就被称为联合索引。
2024-06-26 10:48:14
990
原创 mysql事务
假设有 A 和 B 这两个事务同时在处理,事务 A 先开始从数据库中读取小林的余额数据,然后再执行更新操作,如果此时事务 A 还没有提交事务,而此时正好事务 B 也从数据库中读取小林的余额数据,那么事务 B 读取到的余额数据是刚才事务 A 更新后的数据,即使没有提交事务。假设有 A 和 B 这两个事务同时在处理,事务 A 先开始从数据库查询账户余额大于 100 万的记录,发现共有 5 条,然后事务 B 也按相同的搜索条件也是查询出了 5 条记录。所以,要解决脏读现象,就要升级到「读提交」以上的隔离级别;
2024-06-26 10:47:32
849
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人