- 博客(22)
- 收藏
- 关注
原创 Kafka
Kafka采用拉模式(Pull Model),即消费者主动从Broker拉取消息,而不是Broker推送消息给消费者。: 消费者组,多个消费者实例组成一个组,共同消费同一个Topic的消息。: 主题的分区,主题的数据分布在不同的分区中,提供数据的并行处理能力。: Kafka集群中的服务器节点,存储消息并处理消费者的读取请求。:Kafka支持数据的push模式,可以实现高吞吐量的消息处理。:Kafka通过时间戳保证消息的顺序和事件时间的同步。: 消息消费者,从Kafka接收消息的客户端。
2025-01-02 23:04:59
277
原创 RabbitMQ
这种模式的优点是结构简单,易于理解和实现,但缺点是不适用于多个消费者或消息广播的场景,因为消息一旦被一个消费者接收,就会从队列中删除。每个消息都有一个特定的路由键(routing key),消息发送到Exchange时,RabbitMQ会根据这个路由键来决定如何路由消息到特定的队列。在这种模式下,消息被平均分配给不同的消费者,确保公平的分布和消费,适用于需要在多个工人之间分配任务的应用程序。:使用direct交换机,生产者发送消息时需要指定路由键,交换机根据路由键将消息路由到特定的队列。
2025-01-02 22:58:28
329
原创 Redis
主从复制模式就是,部署多台 Redis 节点,其中只有一台节点是主节点(Master),其他的节点都是从节点(Slave),也叫备份节点(Replica)。哨兵模式是一种特殊的模式,首先 Redis 提供了哨兵的命令,哨兵是一个独立的进程,作为进程,它独立运行。:每隔一定时间,扫描一定数量的key,并删除其中过期的,通过调整定时扫描的时间间隔和扫描限定耗时,使CPU和内存达到一个最佳平衡状态。在更新数据库和缓存时,先更新数据库,然后等待一段时间,再次删除缓存,以确保缓存数据过期后重新加载。
2025-01-01 20:10:45
372
原创 SpringBoot、SpringCloud
Zuul是Netflix开发的第一代微服务网关,基于Servlet实现,采用阻塞式I/O架构,不支持长连接如WebSockets。它将一个大的事务拆分成多个小的子事务,每事务都提供三个操作:Try(尝试)、Confirm(确认)和Cancel(取消)。伪SPI,真正的Spi是在META-INF.services文件夹下面放一个接口文件,内容接口对应的实现类,通过Jdk提供的serviceload 加载。第一阶段 :准备阶段,协调者向所有参与者发送prepare请求,每个参与者执行操作并返回ready消息。
2025-01-01 18:45:35
347
原创 MySql
在MySQL中,EXPLAIN语句用于查看SQL执行计划,帮助识别查询中的性能瓶颈。重点关注的数据类型列、连接类型、使用的索引等,确保查询计划达到range级别,避免all级别。:选择合适的列创建索引,确保查询中使用的条件和排序列被索引覆盖。根据时间、范围等条件进行分区,查询时可只扫描特定分区,减少不必要的扫描。:UNION ALL合并结果集时不进行去重操作,减少排序和比较的开销,适用于不需要去重的数据查询。:使用参数化查询或预编译语句,对用户输入进行严格验证和过滤,限制其能够影响的数据库操作。
2025-01-01 18:03:23
303
原创 Java基础
Java NIO : 同步非阻塞,服务器实现模式为一个请求一个线程,即客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有I/O请求时才启动一个线程进行处理。线程:是指进程中的一个执行任务的单元,负责执行当前进程中程序的执行,一个进程至少有一个线程,一个进程内的多个线程见可共享数据。wait()释放锁,让线程进入等待状态,sleep()不释放锁,让线程进入阻塞状态;计算哈希值,确定数组索引,检查哈希冲突,如果该位置为空,则将键值对放入该位置。
2025-01-01 18:00:17
1199
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人