- 博客(10)
- 收藏
- 关注
原创 RabbitMQ生产者确认机制
Slf4j@Override//获取RabbitTemplate//设置ReturnCallback@Override// 投递失败,记录日志log.info("消息发送失败,应答码{},原因{},交换机{},路由键{},消息{}",// 如果有业务需要,可以重发消息});@Test//添加collback@Overrideif (ack) {//ack,消息发送成功log.info("消息成功发送" + correlationData.getId());
2024-07-12 12:21:15
443
原创 Redis哨兵模式结构和作用
如图:哨兵(Sentinel)主要作用有三个1.监控:哨兵会不断检查master和slave是否工作正常2.自动故障恢复:如果master故障,哨兵会将一个slave提升为master3.通知:如果发生故障转移(更换master),会将最新信息推送给Redis客户端哨兵基于心跳机制监控mastert与slave,每隔1秒发送ping命令,如果在一定时间内,master没有回应,就会被认为如果超过一定数量的哨兵都认为这个master主观下线,则该实例。这个一定数量最高超过哨兵的一半。
2024-07-11 18:15:12
346
原创 Redis主从模式中,数据如何同步
主从第一次建立连接时,会执行全量同步,将master节点所有数据同步给slave节点有几个概念简称replid,是数据集的标识,id一致说明是同一个数据集。每个master都有唯一的replid,slave会继承master节点的replid。偏移量,slave完成同步后会记录当前同步的offset,如果slave的offset小于master的offset,说明slave的数据落后master,此时就需要进行同步。
2024-07-11 17:33:09
1985
原创 RabbitMQ利用死信交换机实现延迟消息
当一个队列中消息满足下列情况之一时,就可以成为死信1.消费者消费失败2.消息超时无人消费3.队列消息满了,无法投递如果队列配置了属性,指定了一个交换机,那么队列中的死信就会投递到这个交换机中,而这个交换机称为以下代码核心思想是,利用超时时间,使消息成为死信投递到死信交换机,并配置消费者监听死信交换机,从而达到延迟消费。
2024-07-10 17:19:01
647
原创 RabbitMQ五种工作模式
一个生产者对应一个消费者Work queues,多个消费者绑定到一个队列,共同消费队列中的消息。可以看到,在订阅模型中,多了一个exchange角色,而且过程略有变化。Exchange:就是交换机,一方面,接收生产者发送的消息。另一方面,知道如何处理消息,例如递交给某个特别队列、递交给所有队列、或是将消息丢弃。到底如何操作,取决于Exchange的类型。Exchange有以下3种类型:Fanout(广播),Direct(路由),Topic(主题)。
2024-07-06 18:25:50
311
原创 Feign优化
Feign底层发起http请求,依赖于其它的框架。因此提高Feign的性能主要手段就是使用。代替默认的URLConnection。:默认实现,不支持连接池。
2024-07-03 12:05:47
446
原创 Java报错Unsupported or unrecognized SSL message解决方法
客户端和服务器使用的 SSL/TLS 协议版本不兼容。例如,客户端使用 TLS 1.2,而服务器只支持 TLS 1.0。这种情况下,两者无法建立安全连接。url: jdbc:mysql://127.0.0.1:3306/数据库名称?禁用 SSL/TLS 加密连接,配置文件中数据库连接url属性加入。username: 用户名。password: 密码。
2024-06-30 18:06:05
1665
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人