Skip to content

[Feature] Support extensible external configuration for RocketMQ clients, similar to Pulsar's producer.properties and consumer.properties #107

Description

@imjyz

English

Apache Pulsar supports external producer and consumer configuration through files such as producer.properties and consumer.properties.

RocketMQ clients currently do not provide a similar standardized and extensible configuration capability.

I would like to propose adding similar support to RocketMQ clients, while making the configuration model extensible across different scopes, for example:

  • client scope
  • producer scope
  • consumer scope

This kind of configuration model has several practical benefits:

  • deployment-time configuration can be changed without modifying application code
  • producer and consumer settings can be managed in a more uniform way
  • environment-specific settings are easier to maintain across development, testing, and production
  • operations teams can manage client behavior more conveniently
  • new client capabilities can be introduced through clear configuration scopes instead of ad hoc code changes
  • cross-language SDKs can evolve toward a more consistent configuration model

中文

Apache Pulsar 支持通过 producer.propertiesconsumer.properties 这类文件对 Producer 和 Consumer 进行外部配置。

RocketMQ 客户端目前还不支持类似的标准化、可扩展配置能力。

我希望 RocketMQ 客户端也能支持类似方式,并让这套配置模型能够按不同维度进行扩展,例如:

  • client 维度
  • producer 维度
  • consumer 维度

这种配置模型有几个比较实际的好处:

  • 部署时可以调整配置,而不需要修改应用代码
  • Producer 和 Consumer 配置可以用更统一的方式管理
  • 开发、测试、生产等不同环境下的配置更容易维护
  • 运维侧可以更方便地管理客户端行为
  • 后续新增客户端能力时,可以按清晰的配置维度扩展,而不是零散地落到代码中
  • 有助于多语言 SDK 逐步形成更一致的配置模型

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions