1.MYSQL 插入数据时,主键采用自动增长,但是出现重复数据异常。
    解决:插入语句修改insert ignore into task_picture_info,添加ignore关键字,遇到重复数据忽略,但实际上加上ignore,插入到数据库并无重复,若仍然不正确,spring框架下删除执行方法事务性Transactional

    2.MYSQL 删除、更新时,出现Deadlock found when trying to get lock错误。 解决:在where后的非主键条件字段加上索引,原因为在数据库更新、删除时,对数据库表进行加锁,当遇到并发操作时,造成死锁。加锁索引,将表加锁修改行加锁。

    3.rabbitmq使用MessageListenerContainer创建多个消费者进行消费来提供并发,该方法可通过监听进行消息者监听开关。
    1600M内存暂测20消费者1消息
    setConcurrentConsumers(1);设置初始消费者数量
    setMaxConcurrentConsumers(1);设置消费者可动态创建最高值
    setPrefetchCount(1);设置消费者每次可消费数量

    4.rabbitmq监听方法需要try{}catch{},否则正在消费消息回当异常重发,rabbitmq的MessageListenerContainer采用默认配置,setAcknowledgeMode(AcknowledgeMode.NONE)。

    5.内存溢出,解析方法内部,调用另外一个工程,熔断时间15m,并发高,太多消息等待回复导致卡死内存溢出。可通过docker,提高jar包内存,压底并发和熔断时间。

    6.vue,发送请求等待时间太长,需要加loading进行加载等待,提高用户体验。

    7.rabbitmq,可通过MessageListenerContainer结合接口,可给接收消息发送到处理方法,添加参数。

    8.redis 主要对计数进行加一减一操作,不取值,在springboot直接操作方法+1-1并无并发问题。