ActiveMQ详细配置方案

简介: 本文总结ActiveMQ重要的一些配置,包括高可用failover配置、消息策略等。

一、高可用Failover配置

failover:(uri,...,urlN)?transportOptions负载均衡,默认使用随机的uri进行连接,可以在多个broker中达到负载均衡的效果,有两种方式:

  • failover:(tcp://primary:61616,tcp://secondary:61616)?randomize=false默认优先使用primary,只有当primary机器掉线之后,会自动转移到secondary,但是当primary又重新恢复之后,不会自动切换会primary。
  • failover:(tcp://primary:61616,tcp://secondary:61616)?randomize=false&priorityBackup=true默认优先使用primary,只有当primary机器掉线之后,会自动转移到secondary,但是当primary又重新恢复之后,又会自动切换回primary。


以上两种方式都会存在一个问题,就是当切换到备用机之后,主机器还可能遗留一些未处理的数据,为了解决这个问题,可以在集群之间搭建一个network,这样子数据可以在多个broker之间流转。


二、消息策略配置

  • 禁掉scheduler功能
<broker>节点增加schedulerSupport="false"</broker>
  • 配置按照顺序分发策略
<dispatchPolicy><!--按顺序分发--><strictOrderDispatchPolicy/></dispatchPolicy>
  • 配置恢复策略
<subscriptionRecoveryPolicy><!--只恢复最后一个message--><lastImageSubscriptionRecoveryPolicy/></subscriptionRecoveryPolicy>
  • 配置networkConnector
<networkConnectors><networkConnectoruri="static:(tcp://127.0.0.1:61617,tcp://127.0.0.1:61616)"/></networkConnectors>
  • 配置消息回流到broker
<destinationPolicy><policyMap><policyEntries><policyEntryqueue="test.>"enableAudit="false"><networkBridgeFilterFactory><conditionalNetworkBridgeFilterFactoryreplayWhenNoConsumers="true"/></networkBridgeFilterFactory><pendingMessageLimitStrategy><constantPendingMessageLimitStrategylimit="1000"/></pendingMessageLimitStrategy></policyEntry></policyEntries></policyMap></destinationPolicy>

三、权限配置

  • 配置用户名密码
<beanid="securityConstraint"class="org.eclipse.jetty.http.security.Constraint"><propertyname="name"value="BASIC"/><propertyname="roles"value="admin"/><propertyname="authenticate"value="false"/></bean>

四、发送方式配置

  • 同步发送
failover:(tcp://primary:61616,tcp://secondary:61616)?randomize=false&jms.useAsyncSend=false&priorityBackup=true
  • 异步发送
failover:(tcp://primary:61616,tcp://secondary:61616)?randomize=false&jms.useAsyncSend=true&priorityBackup=true
相关文章
|
消息中间件 Java
ActiveMQ调优方案
讨论ActiveMQ性能调优的方向,提供调优参考。
613 0
|
7月前
|
消息中间件 Kafka API
面试题Kafka问题之RabbitMQ的扩展和二次开发如何解决
面试题Kafka问题之RabbitMQ的扩展和二次开发如何解决
55 1
|
8月前
|
消息中间件 Java Kafka
SpringBoot实用开发篇第六章(整合第三方技术,ActiveMQ,RabbitMQ,RocketMQ,Kafka)
SpringBoot实用开发篇第六章(整合第三方技术,ActiveMQ,RabbitMQ,RocketMQ,Kafka)
|
消息中间件 Java Kafka
Apache Kafka和ActiveMQ的主要优点和典型用例
Apache Kafka和ActiveMQ的主要优点和典型用例
204 0
Apache Kafka和ActiveMQ的主要优点和典型用例
|
消息中间件 存储 缓存
消息中间件ActiveMQ常见问题解析
消息中间件ActiveMQ常见问题解析
414 18
|
消息中间件 中间件
ActiveMQ - 基础篇(上)
ActiveMQ - 基础篇(上)
160 0
ActiveMQ - 基础篇(上)
|
消息中间件
ActiveMQ - 基础篇(下)
ActiveMQ - 基础篇(下)
147 0
ActiveMQ - 基础篇(下)
|
消息中间件 Java 开发框架