Async使用问题,引起的生产事故

一、问题简单描述,消息中间件使用的是kafka,消费者接收消息,发起restmplate同步请求,接收返回的数据入库。

优化方案思考:

kafka配置:

spring:
  kafka:
    bootstrap-servers: localhost
    template:
      default-topic: update-test
    consumer:
      # 指定默认消费者group id
      group-id: default-group
      # 一次最多拉取消息的数量
      max-poll-records: 1
      # 最早未被消费的offset, 若设置为earliest,那么会从头开始读partition
      auto-offset-reset: earliest
    listener:
      # 拉取消息类型:SINGLE、BATCH
      type: SINGLE
      # 指定listener 容器中的线程数,用于提高并发量
      concurrency: 10
    properties:
      max:
        poll:
          interval:
            ms: 600000

配置中观察到是单次拉取的,后面改成批量拉取,发现速度没什么变化,于是观察消费者处理的代码逻辑,发现会执行restmplate同步请求,而每次请求都有几秒的耗时,于是想加快消费者处理速度,于是实现了AsyncConfigurer

@Slf4j
@Configuration
public class ProcessorAsyncConfig implements AsyncConfigurer {
  @Ov
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值