talentrydev/message-broker-bundle

Symfony 扩展,用于集成 talentrydev/message-broker 库

5.1.0-rc8 2024-08-15 14:45 UTC

This package is auto-updated.

Last update: 2024-09-15 12:58:52 UTC


README

这是一个用于将 talentrydev/message-broker 库集成到 Symfony 项目的 Symfony 扩展。

安装

  • 运行
composer require talentrydev/message-broker-bundle
  • 将 MessageBrokerBundle 添加到内核的 registerBundles 方法
return [
    //...
    new \Talentry\MessageBrokerBundle\MessageBrokerBundle();
];

配置

Bundle 提供以下配置

选项类型默认值可用值必需描述
aws_regionstringeu-central-1任何有效的 AWS 区域仅当使用 sns 或 sqs 实现时AWS 区域
channelsarray-见下文no用于配置通道和序列化策略
kafkaarray-见下文no用于配置 Kafka
namespacestring-任何字符串no用于前缀 SQS 队列名称
publisher_implementationstringsqssqs,sns,array,kafkayes选择用于发布消息的消息代理实现
sns_endpointstring-任何有效的 URLno允许使用自定义 AWS SNS 实现(例如 localstack);对于测试很有用
sns_topic_arnstring-任何有效的 AWS SNS ARN仅当使用 sns 发布者实现时SNS 主题的 ARN,消息将发布到该主题
sqs_endpointstring-任何有效的 URLno允许使用自定义 AWS SQS 实现(例如 localstack);对于测试很有用
subscriber_implementationstringsqssqs,array,kafkayes选择用于接收消息的消息代理实现

通道配置

选项类型默认值可用值必需描述
namestring-任何有效的通道名称yes通道名称
serialization_strategystring-有效的序列化策略类名yes实现 MessageSerializationStrategy 的类的 FQCN

Kafka 配置

选项类型默认值可用值必需描述
auto_offset_resetstringearliestlatest, earliest, none仅当使用 kafka 实现时https://kafka.apache.org/documentation/#consumerconfigs_auto.offset.reset
broker_liststring-有效的主机名列表仅当使用 kafka 实现时https://arnaud.le-blanc.net/php-rdkafka-doc/phpdoc/rdkafka.addbrokers.html
enable_partition_eofstringtruetrue 或 false仅当使用 kafka 实现时https://docs.confluent.io/3.2.1/clients/librdkafka/CONFIGURATION_8md.html
enable_auto_commitstringfalsetrue 或 false仅当使用 kafka 实现时https://kafka.apache.org/documentation/#consumerconfigs_enable.auto.commit
log_level | integer | 3 | 任何 LOG* PHP 常量仅当使用 kafka 实现时设置 Kafka PHP 模块的日志级别
max_poll_interval_msinteger300000任何整数仅当使用 kafka 实现时https://kafka.apache.org/documentation/#consumerconfigs_max.poll.interval.ms
session_timeout_msinteger45000任何整数仅当使用 kafka 实现时https://kafka.apache.org/documentation/#connectconfigs_session.timeout.ms

使用 kafka 实现的重要注意事项