ActiveMQ
2021-04-13 10:10:19 0 举报
AI智能生成
ActiveMQ总结
作者其他创作
大纲/内容
应用场景
**异步通信**
**缓冲**
**解耦**
**冗余**
过载保护
数据流处理
异构平台
常用消息中间件对比
ActiveMQ
RabbitMQ
RocketMQ
Kafka
JMS
Broker
provider
Consumer
消息模型
p2p
pub/sub
区别
ConnectionFactory
Connection
Destination
Queue
Topic
Session
消息
JMS的消息格式
消息头
JMS消息头使用的所有方法
自动头信息
手动头信息
消息属性
消息体
消息类型
TextMessage
MapMessage
BytesMessage
StreamMessage
ObjectMessage
特性
消息确认 ACKNOWLEDGE Mode
AUTO_ACKNOWLEDGE
CLIENT_ACKNOWLEDGE
DUPS_ACKNOWLEDGE
持久化
PERSISTENT
NON_PERSISTENT
优先级
JMS Provider
过期
持久订阅
DurableSubscriber
事务
commit
rollback
Broker
存储 persistenceAdapter
KahaDB
B-Tree
db.data
db.redo
db-.log
APPEND的方式
lock
AMQ
JDBC
表
activemq_msgs
activemq_acks
activemq_lock
dbcp连接池
数据源
LevelDB
Memory
JDBC Message store with ActiveMQ Journal
集群
主备集群
Shared File System Master Slave
**JDBC Master Slave**
**Replicated LeveDB Store**
需要使用zookeeper
高性能集群
静态网络配置
multicast协议动态网络配置
failover 故障转移协议
**可配置选项**
Transport Options
消息回流
replayWhenNoConsumers
消息副本
连接协议 transportConnector
TCP openwire
阻塞式
NIO
异步
UDP
SSL
Http(s)
VM
auto + nio
OpenWire 可用配置选项
Transport 可用配置选项
web控制台
web控制台安全
消息安全机制
功能
Queues
Topics
Subscribers
Connections
Network
Scheduled
Send
ActiveMQ服务监控 Hawtio
独立jar包的形式运行
集成ActiveMQ
开发
maven
sender
Receiver
consumer.receive()
同步接收阻塞式
消息监听器
异步接收
API
事务
session.commit();
session.rollback();
优先级
producer.setPriority
修改配置文件
消息超时/过期
producer.setTimeToLive
整合SpringBoot
pom
yml
连接池设置
对象序列化 信任包
packages:
trust
Config类
@JmsListener
jmsMessagingTemplate
jmsTemplate
收
发
高级特性
死信队列
修改死信队列名称
让非持久化的消息也进入死信队列
过期消息不进死信队列
独占消费者
API
设置优先级
消息发送原理
同步与异步
强行异步发送
producer的producerWindowSize
brokerUrl
destinationUri
延迟消息投递
配置文件
api
延迟发送
带间隔的重复发送
Cron表达式定时发送
消息过滤
selector
queue browser
批量确认
消费缓冲与消息积压/慢消费者 prefetchSize
消息到底是推还是拉?
EIP Camel
Request/Response模型实现
QueueRequestor 同步消息
**JMSReplyTo**
JMSCorrelationID
TemporaryQueue
Topic加强 可追溯消息
消费端设置
保留固定字节的消息 fixedSizedSubscriptionRecoveryPolicy
保留固定数量的消息 fixedCountSubscriptionRecoveryPolicy
保留时间 timedSubscriptionRecoveryPolicy
保留最后一条 lastImageSubscriptionRecoveryPolicy
安装
Linux
下一代 ActiveMQ 6?Artemis
常见问题
ActiveMQ如何防止消息丢失?会不会丢消息?
如何防止重复消费
如何保证消费顺序?
Out of memory
慢速消费
SlowConsumerStrategy
直接中断 **AbortSlowConsumerStrategy abortConnection**
设置阈值 AbortSlowConsumerStrategy maxTimeSinceLastAck
消息限制策略 PendingMessageLimitStrategy
constantPendingMessageLimitStrategy
prefetchRatePendingMessageLimitStrategy
消息堆积内存上涨
prefetchSize影响消费倾斜
prefetchSize造成消费者内存溢出
AUTO_ACKNOWLEDGE造成消息丢失/乱序
exclusive 和selector有可能造成消息堆积
0 条评论
下一页