使用spring-retry搞定重试功能
使用spring-retry搞定重试功能
|
一、背景在项目中,我们有时候需要调用第三方接口进行业务请求,比如调用第三方短信平台发送短信,但有时候会出现第三方服务不稳定或者网络抖动而导致的请求失败,这时我们通常会用try-catch、while等方式进行重试,但是这样写的代码不优雅,如果还要加上重试的次数和每次重试的间隔,就更加繁琐了,那么有没
[RocketMQ]Broker与NameServer之间的健康监测
[RocketMQ]Broker与NameServer之间的健康监测
|
0 评论
一、Broker通过心跳的方式向NameServer注册信息this.scheduledExecutorService.scheduleAtFixedRate(new Runnable() { @Override public void run() { try {
[RocketMQ]NameServer是如何处理Broker的注册请求的?
[RocketMQ]NameServer是如何处理Broker的注册请求的?
|
0 评论
一、注册处理器private void registerProcessor() { if (namesrvConfig.isClusterTest()) { this.remotingServer.registerDefaultProcessor(new ClusterTestR
[RocketMQ]Broker注册信息到NameServer的过程
[RocketMQ]Broker注册信息到NameServer的过程
|
0 评论
一、什么时候发起注册的动作?// 注册Broker到所有NameServer上this.registerBrokerAll(true, false, true);在BrokerController的start方法,我们可以找到上面的代码,就是Broker发起注册的动作,注册Broker到所有的Nam
[RocketMQ]Broker启动过程
[RocketMQ]Broker启动过程
|
0 评论
Broker启动的方式和过程跟NameServer(https://greaterway.cn/archives/rocketmqnameserver-qi-dong-guo-cheng)比较类似一、入口public static void main(String[] args) { star
[RocketMQ]NameServer启动过程
[RocketMQ]NameServer启动过程
|
0 评论
一、入口public static void main(String[] args) { main0(args);}public static NamesrvController main0(String[] args) { try { // 创建NamesrvContro
[RocketMQ]通过RocketMQ源码本地运行Broker
[RocketMQ]通过RocketMQ源码本地运行Broker
|
0 评论
1、在Github上下载RocketMQ源码,并导入到IntellJ IDEA。当前启动的版本为4.9.2版本。2、创建一个目录用于存放NameServer的配置和日志文件。例如下面目录:D:\01-Personal\04-SourceCode\08-RocketMQ\data并在改目录下创建log
[RocketMQ]通过RocketMQ源码本地运行NameServer
[RocketMQ]通过RocketMQ源码本地运行NameServer
|
0 评论
1、在Github上下载RocketMQ源码,并导入到IntellJ IDEA。当前启动的版本为4.9.2版本。2、创建一个目录用于存放NameServer的配置和日志文件。例如下面目录:D:\01-Personal\04-SourceCode\08-RocketMQ\data并在改目录下创建log
[RocketMQ]如果RocketMQ有百万消息积压怎么处理?
[RocketMQ]如果RocketMQ有百万消息积压怎么处理?
|
0 评论
如果生产环境上由于某些原因消息消费者宕机了,导致消息积压在RocketMQ上,这时应该如何处理?处理方式如下:1、判断RocketMQ上的MessageQueue队列数是否有一对一的消息消费者进行消费,比如Topic有10个MessageQueue,而这个消费者只有2个,这个时候可以增加8个消费者,
[rocketmq]开启消息轨迹记录
[rocketmq]开启消息轨迹记录
|
0 评论
1、配置在broker配置中加入:traceTopicEnable=true创建生产者时,开启消息轨迹追踪:DefaultMQProducer producer = new DefaultMQProducer(“trace-message-producer-group”, true);创建消费者时,