本文介绍您在使用开源 Go SDK 接入阿里云 RocketMQ 时,需要配置的参数。

通用参数

参数名 说明
NameServer 设置 TCP 协议接入点,从阿里云 RocketMQ 控制台的实例详情页面获取
GroupID 您在阿里云 RocketMQ 控制台上创建的 Group ID,详情请参见名词解释
AccessKey 您在阿里云账号管理控制台中创建的 AccessKeyId,用于身份认证
SecretKey 您在阿里云账号管理控制台中创建的 AccessKeySecret,用于身份认证
Channel 用户渠道,默认值为 ALIYUN

Producer 类参数

参数名 说明
ProducerModel 设置 Producer 实例化模式,取值说明如下:
  • CommonProducer:表示普通消息生产者
  • OrderlyProducer:表示顺序消息生产者
  • TransProducer:表示事务消息生产者
TransactionStatus 执行本地事务和事务回查的状态,取值说明如下:
  • CommitTransaction:表示提交事务
  • RollbackTransaction:表示回滚事务
  • UnknownTransaction:表示事务状态未知

Consumer 类参数

参数名 说明
Model 设置 Consumer 实例的消费模式,取值说明如下:
  • Clustering:表示集群消费
  • Broadcasting:表示广播消费
ConsumerModel 设置 Consumer 实例化模式,取值说明如下:
  • CoCurrently:表示普通消息消费者
  • Orderly:表示顺序消息消费者

特殊参数和接口说明

由于阿里云 RocketMQ 对一些参数使用了优化后的默认值,故有些自定义参数在连接阿里云 RocketMQ 的时候将会关闭,设置这些参数时不会报错,但不会生效。同时某些消息的系统属性没有返回给业务,因此某些特殊的属性被设置成 0 或者一个非法值。具体参数设置、API、以及消息属性的对比,请参见以下表格。

  • Producer
    • ProducerConfig 阿里云 RocketMQ 是否支持
      SendMsgTimeout 支持
      CompressLevel 未开放
      MaxMessageSize 支持
      ProducerModel 未开放
      ClientConfig 参见下文 ClientConfig 说明表格
    • SendResult 阿里云 RocketMQ 是否支持
      SendStatus 不开放,失败情况通过 error 返回值判断
      MsgId 支持
      Offset 不开放,默认为 0
    • API 阿里云 RocketMQ 是否支持
      SendMessageOrderly(
      
         msg *Message,
      
         selector MessageQueueSelector,
      
         arg interface{},
      
         autoRetryTimes int) (*SendResult, error)
      不开放,使用 SendMessageOrderlyByShardingKey 代替
  • Consumer
    PushConsumerConfig 阿里云 RocketMQ 是否支持
    ThreadCount 支持
    MessageBatchMaxSize 不开放
    Model 支持
    ConsumerModel 支持
    MaxCacheMessageSize 支持
    MaxCacheMessageSizeInMB 支持
    ClientConfig 参见下文 ClientConfig 说明表格
  • 公共参数
    • ClientConfig 阿里云 RocketMQ 是否支持
      GroupID 必填项
      NameServer 必填项,参考接入点介绍
      NameServerDomain 不开放,请设置接入点
      InstanceName 支持,仅对Consumer生效
      SessionCredentials 必填项
      LogConfig 参见下文 LogConfig 说明表格
    • LogConfig 阿里云 RocketMQ 是否支持
      LogPath 支持 ONS 日志目录设置,但默认的内核日志目录不可改变
      FileNum 不开放
      FileSize 不开放
      Level 不开放