'rabbitmq', 'connections' => [ 'rabbitmq' => [ 'driver' => 'rabbitmq', 'host' => getenv('RABBITMQ_HOST') ?: '127.0.0.1', 'port' => (int)(getenv('RABBITMQ_PORT') ?: 5672), 'user' => getenv('RABBITMQ_USER') ?: 'guest', 'password' => getenv('RABBITMQ_PASSWORD') ?: 'guest', 'vhost' => getenv('RABBITMQ_VHOST') ?: '/', 'timeout' => 10, // 连接超时时间(秒) // 队列配置 'queues' => [ // 数据同步队列:外部数据源轮询后推送的数据 'data_sync' => [ 'name' => 'data_sync_queue', 'durable' => true, // 队列持久化 'auto_delete' => false, 'arguments' => [], ], // 标签计算队列:消费记录写入后触发标签计算 'tag_calculation' => [ 'name' => 'tag_calculation_queue', 'durable' => true, // 队列持久化 'auto_delete' => false, 'arguments' => [], ], ], // 交换机配置 'exchanges' => [ 'data_sync' => [ 'name' => 'data_sync_exchange', 'type' => 'direct', 'durable' => true, 'auto_delete' => false, ], 'tag_calculation' => [ 'name' => 'tag_calculation_exchange', 'type' => 'direct', 'durable' => true, 'auto_delete' => false, ], ], // 路由键配置 'routing_keys' => [ 'data_sync' => 'data.sync', 'tag_calculation' => 'tag.calculation', ], ], ], // 消息配置 'message' => [ 'delivery_mode' => 2, // 消息持久化(2 = 持久化) 'content_type' => 'application/json', ], // 消费者配置 'consumer' => [ 'data_sync' => [ 'prefetch_count' => 10, // 每次处理10条消息(批量处理) 'no_ack' => false, // 需要确认消息 ], 'tag_calculation' => [ 'prefetch_count' => 1, // 每次只处理一条消息 'no_ack' => false, // 需要确认消息 ], ], ];