摘要:
白话设计模式 六大设计原则 开闭原则 Open-Close Principle,OCP 在⾯向对象编程领域中,开闭原则规定软件中的对象、类、模块和函数对扩展应该是开放的,但对于修改是封闭的。 开闭原则的核⼼思想也可以理解为⾯向抽象编程。 单⼀职责原则 单⼀职责原则(Single Responsibi 阅读全文
摘要:
RocketMQ发送消息之事务消息 先写库还是先发消息? 首先,咱们来看一下工作场景,订单ID1030被创建后要保存到数据库,同时该1030订单通过MQ投递给其他系统进行消费。如果要保证订单数据入库与消息投递状态要保证最终一致,要怎么做? 这里有两种常见做法: 第一种,先写库,再发送数据 //伪代码 阅读全文
摘要:
RocketMQ发送消息之延迟消息 延迟消息 延迟消息是指消息发送后,消费者要在一定时间后,或者指定某个时间点才可以消费。在没有延迟消息时,基本的做法是基于定时计划任务调度,定时发送消息。在 RocketMQ中只需要在发送消息时设置延迟级别即可实现。 Broker在启动时,内部会创建一个内部主题 阅读全文
摘要:
RocketMQ 高可用 消息生产消费流程 Broker 即 MQ 服务器; NameServer 可理解为注册中心。 Broker 主挂了的情况 Broker 主从都挂了的情况 Broker 双主挂了的情况 NameServer 挂了的情况 下面这种情况可能需要人为干预: NameServ 阅读全文
摘要:
RocketMQ消息发送之普通消息 架构拓扑 NameServer:192.168.31.103 Master:192.168.31.105 Slave:192.168.31.111 执行流程 Master与Slave启动向NameServer注册 生产者Producer发送数据前从NameServ 阅读全文