RocketMQ(2023) —— 重新硬视你

文章目录

  • RocketMQ(2023)
    • 介绍
      • 高可用配置
      • 消息消费模式配置
      • 消息顺序消费配置
      • 消息过滤配置
      • 消息重试机制配置
      • 事务消息配置
      • 消息轨迹配置
      • 配置

RocketMQ(2023)


介绍

RocketMQ 是一个分布式消息中间件,用于在分布式系统中进行可靠的异步通信。下面是一些高级配置和使用方法,包括注释以帮助理解:

高可用配置

使用多个命名服务器(NameServer)来提高系统的可用性。在配置文件中指定多个 NameServer 地址,RocketMQ 会自动选择可用的 NameServer 进行连接和通信。
使用主从模式的 Broker 集群。在配置文件中指定多个 Broker 的地址和角色(Master 或 Slave),当主节点宕机时,自动切换到备用节点以保证消息的可用性。

消息消费模式配置

集群消费模式(Cluster):多个消费者同时消费同一组消息,每条消息只被其中一个消费者消费。
广播消费模式(Broadcast):每个消费者都能接收到同一组消息的副本,每个消费者都独立消费。

消息顺序消费配置

顺序消费是保证消息按照发送顺序进行消费的能力。
在生产者发送消息时,使用相同的 MessageQueueSelector 参数来指定发送到同一个队列的消息,消费者通过设置 MessageListenerOrderly 接口来保证顺序消费。

消息过滤配置

使用消息过滤器来选择消费特定类型的消息。通过在消费者端设置 MessageListenerConcurrently 或 MessageListenerOrderly,然后在代码中编写消息过滤器逻辑来选择需要消费的消息。

消息重试机制配置

当消息消费失败时,RocketMQ 提供了消息重试机制。可以配置最大重试次数和重试间隔时间,超过重试次数后消息将被放入死信队列或进行其他处理。

事务消息配置

RocketMQ 支持事务消息,可以保证消息的可靠性和事务的原子性。在发送事务消息时,需要实现 TransactionListener 接口,并在本地事务完成后提交或回滚事务。

消息轨迹配置

RocketMQ 提供了消息轨迹功能,可以记录消息的发送和消费过程,并提供查询接口。可以配置消息轨迹的开启和关闭,以及相关的数据存储和查询配置。

这些是 RocketMQ 的一些高级配置和使用方法,可以根据具体的需求和场景进行配置和调整。请根据实际情况参考 RocketMQ 的官方文档和配置文件进行详细配置和使用。注释部分是对每个配置项的简要说明,具体的配置和使用细节需要根据实际情况进行进一步学习和了解。


配置

# RocketMQ 配置文件
# 消息发送超时时间(单位:毫秒)
send-msg-timeout: 3000
# 消息发送失败重试次数
send-msg-retry-times: 3
# 是否开启 VIP 通道,用于兼容旧版本的客户端
vip-channel-enabled: false
# NameServer 地址列表
namesrv:
  - 127.0.0.1:9876
  - 127.0.0.1:9877
# 生产者配置
producer:
  group: my-group
  send-msg-async: true
  compress-msg-body-over-howmuch: 1024
# 消费者配置
consumer:
  group: my-group
  consume-thread-min: 10
  consume-thread-max: 20
  pull-interval: 0
  consume-timeout: 15
  max-reconsume-times: 3
# 主题配置
topic:
  my-topic:
    # order: true 表示该主题是顺序消息。顺序消息指的是在发送和消费消息时需要保持消息的顺序性,确保消息按照发送的顺序进行消费。这在一些特定的业务场景中非常重要,比如订单处理、业务流程等。
    order: true
    # wait-store-msg-ok: true 表示在发送消息时等待消息存储成功后再返回结果。这样可以确保消息被持久化到存储中,防止消息丢失。等待存储成功会增加发送消息的延迟,但可以提高消息的可靠性。
    # 通过配置这两个选项,可以实现对特定主题的定制化配置,以满足业务需求。在实际应用中,可以根据实际情况进行配置,并结合业务逻辑进行相应的消息发送和消费操作。
    wait-store-msg-ok: true
# 存储配置
store:
  store-path-root-dir: /path/to/store
  store-path-commit-log: /path/to/commit-log
  store-path-consume-queue: /path/to/consume-queue
  store-path-index: /path/to/index
# 日志配置
log:
  log-level: info
  log-file-max-size: 100MB
  log-index-max-file-size: 50MB

你可能感兴趣的:(java-rocketmq,rocketmq,java)