还是结合实际项目说把,最近在做跟保险公司和第三方借贷平台对接的项目;

其中需要第三方借贷平台借款并和保险挂对勾,也就是每次借钱的时候可以做一次保;

这里面正常情况下的逻辑场景:

借贷平台:借贷审核通过-->接收信息-->保险审核通过-->下发钱款通知APP执行出单;

APP:出单{保单创建-->保单核保-->保单支付-->保单承保-->回调通知完成}

其中核保、支付、承保都是对接的保险公司内部接口,他们这几个接口耗时分别是保单创建小于1s、核保1-3s、支付2-5s、承保1-3s,大致走完一个下单流程最快需要5s左右;

出单接口用消息队列完全能hold住,刚开始测的时候没任何问题(此时还没有设置并行消费者个数),等上线之后第三方借贷平台大量放单进来导致这一个队列卡了几千条出单数据,等最后一单执行完毕,接收队列的时间是15:00:00,消费的时间是16:30:13,中间竟然隔了1个小时,导致钱被用户取走,并未扣费成功;

设置并行消费者我知道的有2种方式,可能还有其他的;

方式一:

在配置文件上直接做设置,jms是一个标准或者说是一个协议,activemq是jms的一种实现,所以配置spring jms监听就可以

yml文件:

spring:
jms:
listener:
max-concurrency: 10
concurrency: 6

concurrency当前并行消费者数量;

max-concurrency当前并行消费者数量达到6之后会再开至最大10;

properties文件

spring.jms.listener.concurrency=6
spring.jms.listener.maxConcurrency=10

方式二:

在注解上设置,这个比较灵活,可以根据某个消费者的应用场景去设置

@JmsListener(destination = "issuePolicy", concurrency = "6")

concurrency设置当前并行消费者数量;

未设置并行消费者之前日志打印情况:

设置并行消费者之后日志打印情况:

转载请注明出处,谢谢!

现在人的素质都没有了,辛辛苦苦做的东西都被转载,又不注明出处,稍微改点东西就美其名曰自己原创?笑死我了,不屑于跟你计较;

上面这人某n抄袭地址:https://blog.csdn.net/u014209975/article/details/78599961

本人原创地址:https://www.cnblogs.com/zhouyantong/p/7682941.html

springcloud ActiveMQ设置多个并行消费者的更多相关文章

  1. activemq设置后台管理用户名密码,及生产者消息密码

    activemq设置后台管理用户名密码,及生产者消息密码 1.修改conf/activemq.xml 在<broker>标签下,找到</shutdownHooks>标签.在这个 ...

  2. ActiveMQ第六弹:设置多个并行的消费者

    消息队列本来就是一种经典的生产者与消费者模式.生产者向消息队列中发送消息,消费者从消息队列中获取消息来消费. 消息的传送一般由一个代理来实现的,那就是Message broker(即消息代理).Mes ...

  3. SpringCloud学习系列之二 ----- 服务消费者(Feign)和负载均衡(Ribbon)使用详解

    前言 本篇主要介绍的是SpringCloud中的服务消费者(Feign)和负载均衡(Ribbon)功能的实现以及使用Feign结合Ribbon实现负载均衡. SpringCloud Feign Fei ...

  4. 白话SpringCloud | 第四章:服务消费者(RestTemple+Ribbon+Feign)

    前言 上两章节,介绍了下关于注册中心-Eureka的使用及高可用的配置示例,本章节开始,来介绍下服务和服务之间如何进行服务调用的,同时会讲解下几种不同方式的服务调用. 一点知识 何为负载均衡 实现的方 ...

  5. activemq消息生产者与消息消费者简单例子

    消息生产者HelloQueueProducer.java package activemq.test; import javax.jms.Connection;import javax.jms.Con ...

  6. 【SpringCloud】第三篇: 服务消费者(Feign)

    前言: 必需学会SpringBoot基础知识 简介: spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理.服务发现.断路器.路由.微代理.事件总线.全局锁.决策竞选. ...

  7. springcloud(七,多个服务消费者配置,以及zuul网关案例)

    spring cloud (一.服务注册demo_eureka) spring cloud (二.服务注册安全demo_eureka) spring cloud (三.服务提供者demo_provid ...

  8. activeMQ设置admin的用户名和密码

    ActiveMQ使用的是jetty服务器, 打开conf/jetty.xml文件,找到 <bean id="securityConstraint" class="o ...

  9. SpringCloud教程 | 第三篇: 服务消费者(Feign)

    上一篇文章,讲述了如何通过RestTemplate+Ribbon去消费服务,这篇文章主要讲述如何通过Feign去消费服务.一.Feign简介 Feign是一个声明式的伪Http客户端,它使得写Http ...

随机推荐

  1. Google 开源的 Python 命令行库:深入 fire(一)

    作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Arti ...

  2. TCP/IP Basic

    1.概述 TCP/IP起源于60年代美国政府遮住的一个分组交换网络项目,在当今被定义为互联网通信接口,TCP/IP主要分为4层,每一层负责不同的通信功能,这促成了一个协议族的诞生,而TCP/IP是一组 ...

  3. 「洛谷P1343」地震逃生 解题报告

    P1343 地震逃生 题目描述 汶川地震发生时,四川XX中学正在上课,一看地震发生,老师们立刻带领x名学生逃跑,整个学校可以抽象地看成一个有向图,图中有n个点,m条边.1号点为教室,n号点为安全地带, ...

  4. 1081 检查密码 (15分)C语言

    本题要求你帮助某网站的用户注册模块写一个密码合法性检查的小功能.该网站要求用户设置的密码必须由不少于6个字符组成,并且只能有英文字母.数字和小数点 .,还必须既有字母也有数字. 输入格式: 输入第一行 ...

  5. my_mysql

    ###一键偷懒YUM安装MySQbL### 1.安装mysql数据库 #yum install -y mariadb-server  mariadb 2.登录mysql数据库常用选项 -h:指定服务端 ...

  6. 侠说java8-行为参数化(开山篇)

    啥是行为参数化 行为参数化的本质是不执行复杂的代码块,让逻辑清晰可用. 相信使用过js的你肯定知道,js是可以传递函数的,而在 java中也有类似的特性,那就是匿名函数. 理解:行为参数化是一种方法, ...

  7. docker概述和基本命令

    命名空间 Docker使用一种称为namespaces提供隔离工作空间的技术来称为容器.当您运行容器时,Docker会为该容器创建一组 名称空间. 这些命名空间提供了一层隔离.容器的每个方面都在一个单 ...

  8. Linux下卸载oracle需要删除的文件

    卸载oracle需要删除的文件 rm -rf /data1/oracle/app  #oracle安装目录在/data1/oracle中 rm -rf /usr/local/bin/dbhome rm ...

  9. APICloud发布低代码开发平台

    云原生的出现,致使传统IT模式正在集中向云架构.云开发转型,其中在企业业务的互联网化.数字化进程中尤为突出,并衍生出“敏捷开发”.“快速迭代”的刚性需求.面对双模IT,如何打造全新的IT团队与模式?并 ...

  10. 暑假提高组集训Day1 T1

    说实话,今天的题真的有点难! ~备受打击~ 我们先来看一看第一题吧 看起来好像不太简单,其实并不难 下面来提供两种方法吧 1.做法一 //签到题 /* 那么这一题就是告诉你n个点的坐标,把它们分别放到 ...