You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@rocketmq.apache.org by GitBox <gi...@apache.org> on 2021/12/01 06:34:54 UTC

[GitHub] [rocketmq] Git-Yang opened a new issue #3449: [Delayed Message] Delivered asynchronously to improve the performance of delayed messages

Git-Yang opened a new issue #3449:
URL: https://github.com/apache/rocketmq/issues/3449


   由于延迟消息每个level投递为单线程同步,在DLedger模式下投递性能存在瓶颈(详见下方测试结果)。今天改为延迟消息异步投递的方式验证了一下,性能有非常大的提升,下图为今天优化完后的测试数据,详细测试报告暂未输出。
   ![image](https://user-images.githubusercontent.com/30995057/139688805-6313efe6-800b-43fe-a55b-d181fe6c38c3.png)
   
   同步投递模式下,对延迟消息单机部署和DLedger部署测试得到如下结果:
   机器配置:
   - CPU Silver4210*2
   - 内存 DDR4_16G*8[2400]
   - 磁盘 SSD_960G12[SATA_2.5_]
   - RAID H330Mini_0G*1[LSI_3008]
   - 操作系统 CentOS-7.3
   
   参数:
   - 默认消息大小 1KB
   - 默认pullBatchSize=32
   - queue个人为16
   - 消费实例线程为16
   
   **1. 单机部署**
   - 单个延迟level(使用Timer,level=1,即1s)
      - 边读边写:投递极限为3w+
     -  存在消息积压,关闭生产:投递极限为8w+
   - 多个延迟level(使用Timer,以3个level为例,level分别为1,2,3,即1s 5s 10s)
      - 边写边读:投递极限为3w+ 
      - 存在消息积压,关闭生产:投递极限为9w+
   - 多个延迟level(使用ScheduledExecutorService,以3个level为例,level分别为1,2,3,即1s 5s 10s)
      - 边写边读:投递极限为6w+
      - 只读:投递极限为30w+
      
   **2. DLedger集群部署**
   使用ScheduledExecutorService
   - 单个延迟level,开启batchPush(level=1,即1s)
      - 边读边写:投递极限为700±
     -  存在消息积压,关闭生产:投递极限为900±
   - 单个延迟level,关闭batchPush(level=1,即1s)
      - 边读边写:投递极限为1.2k~2k
     -  存在消息积压,关闭生产:投递极限为3k
   - 多个延迟level,开启batchPush(以3个level为例,level分别为1,2,3,即1s 5s 10s)
      - 边写边读:投递极限为2k±
      - 存在消息积压,关闭生产:投递极限为2.6k±
   - 多个延迟level,关闭batchPush(以3个level为例,level分别为1,2,3,即1s 5s 10s)
      - 边写边读:投递极限为1.6k~5k
      - 只读:投递极限为7.8k±
   ps: 写入对投递影响比较大
   
   如需详细测试数据请告知。
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [rocketmq] Git-Yang edited a comment on issue #3449: [Delayed Message] Delivered asynchronously to improve the performance of delayed messages

Posted by GitBox <gi...@apache.org>.
Git-Yang edited a comment on issue #3449:
URL: https://github.com/apache/rocketmq/issues/3449#issuecomment-958647224






-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [rocketmq] Git-Yang edited a comment on issue #3449: [Delayed Message] Delivered asynchronously to improve the performance of delayed messages

Posted by GitBox <gi...@apache.org>.
Git-Yang edited a comment on issue #3449:
URL: https://github.com/apache/rocketmq/issues/3449#issuecomment-958647224


   可以通过配置同时支持同步和异步两种方式。
   异步投递的两个主要缺点是无法保证消息顺序和失败处理,为了避免投递失败消息丢失,可以对失败消息进行重试,重试n次失败后,阻塞停止当前level对应的线程继续投递。此时投递的offset为失败消息的offset,避免了消息丢失。但是如果服务重启可能会导致数据重复,这里通过阻塞当前level继续投递降低消息重复率。


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [rocketmq] Git-Yang commented on issue #3449: [Delayed Message] Delivered asynchronously to improve the performance of delayed messages

Posted by GitBox <gi...@apache.org>.
Git-Yang commented on issue #3449:
URL: https://github.com/apache/rocketmq/issues/3449#issuecomment-1017556995


   Merged


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [rocketmq] MatrixHB edited a comment on issue #3449: [Delayed Message] Delivered asynchronously to improve the performance of delayed messages

Posted by GitBox <gi...@apache.org>.
MatrixHB edited a comment on issue #3449:
URL: https://github.com/apache/rocketmq/issues/3449#issuecomment-1017190758


   > * 可以通过配置同时支持同步和异步两种方式。
   > * 异步投递的两个主要缺点是无法保证消息顺序和数据重复问题。
   > * 为了避免投递失败消息丢失,可以对失败消息进行重试,重试n次失败后,阻塞停止当前level对应的线程继续投递。此时投递的offset为失败消息的offset,避免了消息丢失。但是如果服务重启可能会导致数据重复,这里通过阻塞当前level继续投递降低消息重复率。
   
   但是在重试次数超过了 maxResendNum2Blocked * 2之后,状态就会置为“SKIP”,意味着允许这条消息丢失,这样理解对么?? 除了日志记录此消息被SKIP,是否有办法让客户端感知到消息被“SKIP”且可自主恢复,比如投递到死信队列...


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [rocketmq] guyinyou commented on issue #3449: [Delayed Message] Delivered asynchronously to improve the performance of delayed messages

Posted by GitBox <gi...@apache.org>.
guyinyou commented on issue #3449:
URL: https://github.com/apache/rocketmq/issues/3449#issuecomment-983328616


   ![image](https://user-images.githubusercontent.com/36399867/144182423-bb667105-a7ec-4bd2-a11b-86d673d1ce82.png)
   Excuse me, what does "关闭生产" mean? According to my understanding, this should be "关闭消费", right? I didn't understand now, looking forward your reply!


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [rocketmq] HScarb edited a comment on issue #3449: [Delayed Message] Delivered asynchronously to improve the performance of delayed messages

Posted by GitBox <gi...@apache.org>.
HScarb edited a comment on issue #3449:
URL: https://github.com/apache/rocketmq/issues/3449#issuecomment-1070851527






-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [rocketmq] Git-Yang commented on issue #3449: [Delayed Message] Delivered asynchronously to improve the performance of delayed messages

Posted by GitBox <gi...@apache.org>.
Git-Yang commented on issue #3449:
URL: https://github.com/apache/rocketmq/issues/3449#issuecomment-958647224


   异步投递的缺点是无法保证消息顺序,可以通过配置同时支持同步和异步两种方式。
   关于异地消息投递失败的问题,我认为需异步投递也是需要保证消息不丢失,所以如果多次重试后仍然失败(此时offset不会更新),需要阻塞停止当前level对应的线程继续投递,该过程会出现部分数据重复。


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [rocketmq] Git-Yang commented on issue #3449: [Delayed Message] Delivered asynchronously to improve the performance of delayed messages

Posted by GitBox <gi...@apache.org>.
Git-Yang commented on issue #3449:
URL: https://github.com/apache/rocketmq/issues/3449#issuecomment-958647224


   异步投递的缺点是无法保证消息顺序,可以通过配置同时支持同步和异步两种方式。
   关于异地消息投递失败的问题,我认为需异步投递也是需要保证消息不丢失,所以如果多次重试后仍然失败(此时offset不会更新),需要阻塞停止当前level对应的线程继续投递,该过程会出现部分数据重复。


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [rocketmq] Git-Yang commented on issue #3449: [Delayed Message] Delivered asynchronously to improve the performance of delayed messages

Posted by GitBox <gi...@apache.org>.
Git-Yang commented on issue #3449:
URL: https://github.com/apache/rocketmq/issues/3449#issuecomment-963853253


   **延迟消息异步投递**
   1. 新增参数
   <div data-zone-id="0" data-line-index="0" style="white-space: pre;">
   
   参数 | 默认值 | 说明
   -- | -- | --
   enableScheduleAsyncDeliver | false | 是否开启异步延迟消息投递
   scheduleAsyncDeliverMaxPendingLimit | 1000 | 异步投递最大并发数
   scheduleAsyncDeliverMaxResendNum | 3 | 消息发送失败触发阻塞时的重试次数
   
   </div>
   
   ps:消息大小1KB、开启batchPush
   2. scheduleAsyncDeliverMaxPendingLimit表示最大投递并发数
   - 单个level边读边写:
      - scheduleAsyncDeliverMaxPendingLimit=1000时,投递tps极限为3.2w+
   - 单个level只读:
      - scheduleAsyncDeliverMaxPendingLimit=1000时,投递tps极限为5.6w+
      - 调整为500,投递tps极限3w+
      - 调整为2000,投递tps极限为6.7w+
      - 调整为3000,投递tps极限为7.1w+
      - 调整为5000,投递tps极限为7.3w+
   - 多个level边读边写:level分别为1,2,3,即1s 5s 10s
      - scheduleAsyncDeliverMaxPendingLimit=1000时,投递tps极限为3.3w+
   - 多个level只读:level分别为1,2,3,即1s 5s 10s
      - scheduleAsyncDeliverMaxPendingLimit=1000时,投递tps极限为9.2w+
      - scheduleAsyncDeliverMaxPendingLimit=2000时,投递tps极限为9.3w+


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [rocketmq] HScarb commented on issue #3449: [Delayed Message] Delivered asynchronously to improve the performance of delayed messages

Posted by GitBox <gi...@apache.org>.
HScarb commented on issue #3449:
URL: https://github.com/apache/rocketmq/issues/3449#issuecomment-1070851527


   > > * 可以通过配置同时支持同步和异步两种方式。
   > > * 异步投递的两个主要缺点是无法保证消息顺序和数据重复问题。
   > > * 为了避免投递失败消息丢失,可以对失败消息进行重试,重试n次失败后,阻塞停止当前level对应的线程继续投递。此时投递的offset为失败消息的offset,避免了消息丢失。但是如果服务重启可能会导致数据重复,这里通过阻塞当前level继续投递降低消息重复率。
   > 
   > 但是在重试次数超过了 maxResendNum2Blocked * 2之后,状态就会置为“SKIP”,意味着允许这条消息丢失,这样理解对么?? 除了日志记录此消息被SKIP,是否有办法让客户端感知到消息被“SKIP”且可自主恢复,比如投递到死信队列...
   
   skip仅限于从查询延迟消息的源消息为空(查询失败)的情况,如果能查到源定时消息,会一直重试下去


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [rocketmq] Git-Yang commented on issue #3449: [Delayed Message] Delivered asynchronously to improve the performance of delayed messages

Posted by GitBox <gi...@apache.org>.
Git-Yang commented on issue #3449:
URL: https://github.com/apache/rocketmq/issues/3449#issuecomment-983333039


   > ![image](https://user-images.githubusercontent.com/36399867/144182423-bb667105-a7ec-4bd2-a11b-86d673d1ce82.png) Excuse me, what does "关闭生产" mean? According to my understanding, this should be "关闭消费", right? I didn't understand now, looking forward your reply!
   
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [rocketmq] Git-Yang edited a comment on issue #3449: [Delayed Message] Delivered asynchronously to improve the performance of delayed messages

Posted by GitBox <gi...@apache.org>.
Git-Yang edited a comment on issue #3449:
URL: https://github.com/apache/rocketmq/issues/3449#issuecomment-958647224






-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [rocketmq] HScarb edited a comment on issue #3449: [Delayed Message] Delivered asynchronously to improve the performance of delayed messages

Posted by GitBox <gi...@apache.org>.
HScarb edited a comment on issue #3449:
URL: https://github.com/apache/rocketmq/issues/3449#issuecomment-1070851527






-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [rocketmq] Git-Yang edited a comment on issue #3449: [Delayed Message] Delivered asynchronously to improve the performance of delayed messages

Posted by GitBox <gi...@apache.org>.
Git-Yang edited a comment on issue #3449:
URL: https://github.com/apache/rocketmq/issues/3449#issuecomment-958647224


   可以通过配置同时支持同步和异步两种方式。
   异步投递的两个主要缺点是无法保证消息顺序和失败处理,为了避免投递失败消息丢失,可以对失败消息进行重试,重试n次失败后,阻塞停止当前level对应的线程继续投递。此时投递的offset为失败消息的offset,避免了消息丢失,但是如果服务重启可能会导致数据重复。这里通过阻塞当前level继续投递降低消息重复率。


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [rocketmq] Git-Yang commented on issue #3449: [Delayed Message] Delivered asynchronously to improve the performance of delayed messages

Posted by GitBox <gi...@apache.org>.
Git-Yang commented on issue #3449:
URL: https://github.com/apache/rocketmq/issues/3449#issuecomment-958647224


   异步投递的缺点是无法保证消息顺序,可以通过配置同时支持同步和异步两种方式。
   关于异地消息投递失败的问题,我认为需异步投递也是需要保证消息不丢失,所以如果多次重试后仍然失败(此时offset不会更新),需要阻塞停止当前level对应的线程继续投递,该过程会出现部分数据重复。


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [rocketmq] Git-Yang edited a comment on issue #3449: [Delayed Message] Delivered asynchronously to improve the performance of delayed messages

Posted by GitBox <gi...@apache.org>.
Git-Yang edited a comment on issue #3449:
URL: https://github.com/apache/rocketmq/issues/3449#issuecomment-958647224


   - 可以通过配置同时支持同步和异步两种方式。
   - 异步投递的两个主要缺点是无法保证消息顺序和数据重复问题。
   - 为了避免投递失败消息丢失,可以对失败消息进行重试,重试n次失败后,阻塞停止当前level对应的线程继续投递。此时投递的offset为失败消息的offset,避免了消息丢失。但是如果服务重启可能会导致数据重复,这里通过阻塞当前level继续投递降低消息重复率。


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [rocketmq] Git-Yang commented on issue #3449: [Delayed Message] Delivered asynchronously to improve the performance of delayed messages

Posted by GitBox <gi...@apache.org>.
Git-Yang commented on issue #3449:
URL: https://github.com/apache/rocketmq/issues/3449#issuecomment-966000510


   > * 可以通过配置同时支持同步和异步两种方式。
   > * 异步投递的两个主要缺点是无法保证消息顺序和数据重复问题。
   > * 为了避免投递失败消息丢失,可以对失败消息进行重试,重试n次失败后,阻塞停止当前level对应的线程继续投递。此时投递的offset为失败消息的offset,避免了消息丢失。但是如果服务重启可能会导致数据重复,这里通过阻塞当前level继续投递降低消息重复率。
   
   关于数据重复问题:
   - 在正常服务重启的情况下尽可能优化到消息不重复
   - 当某条消息发送异常导致阻塞时,会导致最多scheduleAsyncDeliverMaxPendingLimit条消息重复


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [rocketmq] HScarb commented on issue #3449: [Delayed Message] Delivered asynchronously to improve the performance of delayed messages

Posted by GitBox <gi...@apache.org>.
HScarb commented on issue #3449:
URL: https://github.com/apache/rocketmq/issues/3449#issuecomment-1070851527


   > > * 可以通过配置同时支持同步和异步两种方式。
   > > * 异步投递的两个主要缺点是无法保证消息顺序和数据重复问题。
   > > * 为了避免投递失败消息丢失,可以对失败消息进行重试,重试n次失败后,阻塞停止当前level对应的线程继续投递。此时投递的offset为失败消息的offset,避免了消息丢失。但是如果服务重启可能会导致数据重复,这里通过阻塞当前level继续投递降低消息重复率。
   > 
   > 但是在重试次数超过了 maxResendNum2Blocked * 2之后,状态就会置为“SKIP”,意味着允许这条消息丢失,这样理解对么?? 除了日志记录此消息被SKIP,是否有办法让客户端感知到消息被“SKIP”且可自主恢复,比如投递到死信队列...
   
   skip仅限于从查询延迟消息的源消息为空(查询失败)的情况,如果能查到源定时消息,会一直重试下去


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [rocketmq] Git-Yang commented on issue #3449: [Delayed Message] Delivered asynchronously to improve the performance of delayed messages

Posted by GitBox <gi...@apache.org>.
Git-Yang commented on issue #3449:
URL: https://github.com/apache/rocketmq/issues/3449#issuecomment-983333245


   > ![image](https://user-images.githubusercontent.com/36399867/144182423-bb667105-a7ec-4bd2-a11b-86d673d1ce82.png) Excuse me, what does "关闭生产" mean? According to my understanding, this should be "关闭消费", right? I didn't understand now, looking forward your reply!
   
   This is indeed "关闭生产". When the producer's TPS for sending delayed messages exceeds the delayed message delivery limit, the delayed messages will be backlogged. At this time, close the producer and verify the delivery limit in the scenario of only delayed message delivery.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [rocketmq] Git-Yang removed a comment on issue #3449: [Delayed Message] Delivered asynchronously to improve the performance of delayed messages

Posted by GitBox <gi...@apache.org>.
Git-Yang removed a comment on issue #3449:
URL: https://github.com/apache/rocketmq/issues/3449#issuecomment-983333039


   > ![image](https://user-images.githubusercontent.com/36399867/144182423-bb667105-a7ec-4bd2-a11b-86d673d1ce82.png) Excuse me, what does "关闭生产" mean? According to my understanding, this should be "关闭消费", right? I didn't understand now, looking forward your reply!
   
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [rocketmq] Git-Yang closed issue #3449: [Delayed Message] Delivered asynchronously to improve the performance of delayed messages

Posted by GitBox <gi...@apache.org>.
Git-Yang closed issue #3449:
URL: https://github.com/apache/rocketmq/issues/3449


   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [rocketmq] Git-Yang commented on issue #3449: [Delayed Message] Delivered asynchronously to improve the performance of delayed messages

Posted by GitBox <gi...@apache.org>.
Git-Yang commented on issue #3449:
URL: https://github.com/apache/rocketmq/issues/3449#issuecomment-958647224


   异步投递的缺点是无法保证消息顺序,可以通过配置同时支持同步和异步两种方式。
   关于异地消息投递失败的问题,我认为需异步投递也是需要保证消息不丢失,所以如果多次重试后仍然失败(此时offset不会更新),需要阻塞停止当前level对应的线程继续投递,该过程会出现部分数据重复。


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [rocketmq] Git-Yang edited a comment on issue #3449: [Delayed Message] Delivered asynchronously to improve the performance of delayed messages

Posted by GitBox <gi...@apache.org>.
Git-Yang edited a comment on issue #3449:
URL: https://github.com/apache/rocketmq/issues/3449#issuecomment-958647224






-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [rocketmq] MatrixHB commented on issue #3449: [Delayed Message] Delivered asynchronously to improve the performance of delayed messages

Posted by GitBox <gi...@apache.org>.
MatrixHB commented on issue #3449:
URL: https://github.com/apache/rocketmq/issues/3449#issuecomment-1017190758


   > * 可以通过配置同时支持同步和异步两种方式。
   > * 异步投递的两个主要缺点是无法保证消息顺序和数据重复问题。
   > * 为了避免投递失败消息丢失,可以对失败消息进行重试,重试n次失败后,阻塞停止当前level对应的线程继续投递。此时投递的offset为失败消息的offset,避免了消息丢失。但是如果服务重启可能会导致数据重复,这里通过阻塞当前level继续投递降低消息重复率。
   
   但是在重试次数超过了 maxResendNum2Blocked * 2之后,状态就会置为“SKIP”,意味着允许这条消息丢失,这样理解对么??


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [rocketmq] Git-Yang closed issue #3449: [Delayed Message] Delivered asynchronously to improve the performance of delayed messages

Posted by GitBox <gi...@apache.org>.
Git-Yang closed issue #3449:
URL: https://github.com/apache/rocketmq/issues/3449


   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@rocketmq.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org