springcloud ActiveMQ设置多个并行消费者

摘要:
结合实际项目,我们目前正在进行一个与保险公司和第三方贷款平台连接的项目;第三方借贷平台被要求借钱并与保险交叉核对,即每次借钱都可以做保险;这是一个正常的逻辑场景:贷款平台:批准贷款--˃收到信息--˃批准保险--˃发布付款通知APP执行发放;APP:发行(保单创建--˃保单承保--˃保单支付--˃保单承保-˃回调通知完成),其中承保、支付和承保是保险公司的内部接口

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

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

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

借贷平台:借贷审核通过-->接收信息-->保险审核通过-->下发钱款通知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文件:

  1. spring:
  2. jms:
  3. listener:
  4. max-concurrency: 10
  5. concurrency: 6

concurrency当前并行消费者数量;

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

properties文件

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

方式二:

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

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

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

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

springcloud ActiveMQ设置多个并行消费者第1张

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

springcloud ActiveMQ设置多个并行消费者第2张

转载请注明出处,谢谢!

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

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

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

转载于:https://www.cnblogs.com/zhouyantong/p/9645333.html

免责声明:文章转载自《springcloud ActiveMQ设置多个并行消费者》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇c语言运算符C语言实现字符串IP与整数型IP的相互转换下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Spring整合ActiveMQ实现消息延迟投递和定时投递

linux(centos)系统安装activemq参考:https://www.cnblogs.com/pxblog/p/12222231.html 首先在ActiveMQ的安装路径 /conf/activemq.xml 修改配置文件 增加:schedulerSupport="true" 然后保存重启服务 进入bin目录,执行 ./activemq re...

activemq 安装配置二

管理后台地址http://localhost:8161/admin 或 http://127.0.0.1:8161/admin 默认用户名密码admin admin,端口默认是8161,且服务采用的是服务器,所以我们进入到conf/jetty.xml 一. 放开本地访问限制 将host由127.0.0.1 变更为0.0.0.0 , 放开非本地访问限制...

ActiveMQ---知识点整理

本文来自于csdn,文章通过介绍ActiveMQ的安装,使用,搭建等等,简单整理了ActiveMQ。 本文转自:http://www.uml.org.cn/zjjs/201802111.asp 一.背景介绍 1.1 java消息服务: 不同系统之间的信息交换,是我们开发中比较常见的场景,比如系统A要把数据发送给系统B,这个问题我们应该如何去处理? 1999...

Linux下activeMQ的安装和启动

Linux下activeMQ的安装和启动 ActiveMQ的安装和启动 安装JAVA配置JAVA环境 下载ActiveMQ解压压缩包tar zxvf activemq-x.x.x-bin.tar.gz至此,linux下ActiveMQ的安装工作就完成了。ActiveMQ在Linux下的启动启动ActiveMQ分为两种模式 ,以 前端进程的方式启动(控制台关...

访问ActiveMQ前台界面

1、关闭windows防火墙 根据自己是win7还是win10百度如何关闭Windows防火墙,这里不做过多赘述. 2、关闭Linux防火墙(查看Linux防火墙是否关闭,如果未关闭,按照下列方法进行关闭(CentOS6.8).) // 使用sudo service iptables status命令来查看防火墙的状态 [root@CentOS64 bin...

Java ActiveMQ 讲解(二)Spring ActiveMQ整合+注解消息监听

对于ActiveMQ消息的发送,原声的api操作繁琐,而且如果不进行二次封装,打开关闭会话以及各种创建操作也是够够的了。那么,Spring提供了一个很方便的去收发消息的框架,spring jms。整合Spring后,代码不仅变得非常优雅,而且易用性和扩展性更好。 1. maven依赖 <!-- activemq -->...