PHPackages                             alicfeng/aliyun\_rocket\_mq - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Queues &amp; Workers](/categories/queues)
4. /
5. alicfeng/aliyun\_rocket\_mq

ActiveLibrary[Queues &amp; Workers](/categories/queues)

alicfeng/aliyun\_rocket\_mq
===========================

基于阿里云官方SDK增强组件，更加优雅的应用姿势、更加灵活的动态配置，让应用层服务组件更加标准规范

1.0.3(4y ago)157MITPHPPHP ^7.0|^8.0

Since May 22Pushed 4y ago1 watchersCompare

[ Source](https://github.com/alicfeng/aliyun_rocket_mq)[ Packagist](https://packagist.org/packages/alicfeng/aliyun_rocket_mq)[ RSS](/packages/alicfeng-aliyun-rocket-mq/feed)WikiDiscussions main Synced 3d ago

READMEChangelogDependencies (5)Versions (6)Used By (0)

 [ 阿里云RocketMQ增强组件 ](https://github.com/alicfeng/aliyun_rocket_mq)
==================================================================

[](#------------阿里云rocketmq增强组件----)

 基于阿里云官方SDK增强组件
 更加优雅的应用姿势、更加灵活的动态配置，让应用层服务组件更加标准规范

 [ ![Latest Stable Version](https://camo.githubusercontent.com/64fd251a6f549755b76d1757a04c70482fd3b2d1d6e624a3f0298f0652c39f90/68747470733a2f2f706f7365722e707567782e6f72672f616c696366656e672f616c6979756e5f726f636b65745f6d712f762f737461626c652e737667) ](https://packagist.org/packages/alicfeng/aliyun_rocket_mq) [ ![Total Downloads](https://camo.githubusercontent.com/ab2a44e69318ad093879fa08cd74ba3360ccdc4b68727f5a7061520c17dab3c1/68747470733a2f2f706f7365722e707567782e6f72672f616c696366656e672f616c6979756e5f726f636b65745f6d712f642f746f74616c2e737667) ](https://packagist.org/packages/alicfeng/aliyun_rocket_mq) [ ![License](https://camo.githubusercontent.com/b298e684e5de791fac06da667d6bd00fab64034eaa2baa3521b25071d9c5b8a8/68747470733a2f2f706f7365722e707567782e6f72672f616c696366656e672f616c6979756e5f726f636b65745f6d712f6c6963656e73652e737667) ](https://packagist.org/packages/alicfeng/aliyun_rocket_mq)

特点
--

[](#特点)

1. 支持消息幂等性消费，防止消息重复消费
2. 关系协议约定，仅关心消息消费逻辑即可
3. 专注于配置化定义与注册，更加灵活简洁

安装
--

[](#安装)

```
composer require alicfeng/aliyun_rocket_mq -vvv

# 安装完毕必须执行如下脚本 解决官网代码缺陷
vendor/alicfeng/aliyun_rocket_mq/bin/fix_official_pkg.sh
```

配置
--

[](#配置)

```
$config = [
    'client'   => [
        'endpoint'   => env('MQ_ROCKET_CLIENT_ENDPOINT'),
        'access_key' => env('MQ_ROCKET_CLIENT_ACCESS_KEY'),
        'secret_key' => env('MQ_ROCKET_CLIENT_SECRET_KEY'),
    ],
    'consumer' => [
        'handler_base_namespace' => env('MQ_ROCKET_CONSUMER_HANDLER_BASE_NAMESPACE'),
        'topic'                  => env('MQ_ROCKET_CONSUMER_TOPIC'),
        'message_tags'           => [

        ],
        'group_id'               => env('MQ_ROCKET_CONSUMER_GROUP_ID'),
        'instance_id'            => env('MQ_ROCKET_CONSUMER_INSTANCE_ID'),
    ],

    'cache' => [
        'enable'   => env('MQ_ROCKET_CACHE_ENABLE', true),
        'host'     => env('REDIS_HOST', '127.0.0.1'),
        'password' => env('REDIS_PASSWORD', null),
        'port'     => env('REDIS_PORT', '6379'),
        'database' => env('REDIS_DB', '0'),
    ]
];
```

使用
--

[](#使用)

#### 简单使用

[](#简单使用)

```
use MQ\Model\TopicMessage;
use Samego\RocketMQ\Consumer;
use Samego\RocketMQ\Enum\MessageTagEnum;
use Samego\RocketMQ\Enum\TopicEnum;
use Samego\RocketMQ\Event\MessageEvent;
use Samego\RocketMQ\Producer;

$message = new TopicMessage(['name' => 'hello world']);
$message->putProperty('timestamp', time());
$message->setMessageTag(MessageTagEnum::TRAINING_SERVICE_TRAINING_CONTROLLER);
$message->setMessageKey('uuid');

// 普通消息发送
Producer::normal($config['client'])->publish('MQ_xxx', TopicEnum::DEMO_SERVICE, $message);

// 普通消息订阅
Consumer::normal($config['client'], new MessageEvent($config['consumer'], $config['cache']))->subscribe();
```

#### 模切约定

[](#模切约定)

1. 消费时、每一个服务订阅一个主题，即一个进程仅支持一个主题( `topic` )监听
2. 消费时、每一个订阅进程支持多个消息标签( `MessageTag` )监听
3. 消费时、每一个消息标签需要实现对于应的标签处理事件类，具体约定示例如下：

```
// 消费配置
'consumer' => [
  // 定义承载消费处理基类命名空间
  'handler_base_namespace' => 'App\\Queue\\Handler',
  'topic'                  => env('MQ_ROCKET_CONSUMER_TOPIC'),
  'message_tags'           => [
    'Demo'
  ],
  'group_id'               => env('MQ_ROCKET_CONSUMER_GROUP_ID'),
  'instance_id'            => env('MQ_ROCKET_CONSUMER_INSTANCE_ID'),
];

// 定义好了 consumer.handler_base_namespace 与 consumer.message_tags.* 则需要定义Demo消费处理类 DemoHandler
// 同时此类需要继承 Samego\RocketMQ\Contract\QueueServiceHandlerInterface 接口

namespace App\Queue\Handler;
use MQ\Model\Message;
use Samego\RocketMQ\Contract\QueueServiceHandlerInterface;
use Samego\RocketMQ\Helper\StdLogHelper;

class DemoHandler implements QueueServiceHandlerInterface
{
    public function handler(Message $message): bool
    {
        return true;
    }

    public function failure(Message $message): void
    {

    }
}
```

注意
--

[](#注意)

假设以镜像交付时，务必再安装依赖完毕时执行修复脚本，如下为示例

```
# 安装完毕必须执行如下脚本 解决官网代码缺陷
RUN vendor/alicfeng/aliyun_rocket_mq/bin/fix_official_pkg.sh
```

或者在持续集成中执行

```
# 安装完毕必须执行如下脚本 解决官网代码缺陷
- name: 安装依赖
  image: registry-vpc.cn-shenzhen.aliyuncs.com/library/application:1.0.0
  commands:
  - composer config -g
  - COMPOSER_MEMORY_LIMIT=-1 composer install --optimize-autoloader -vvv
  - vendor/alicfeng/aliyun_rocket_mq/bin/fix_official_pkg.sh
```

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~22 days

Total

4

Last Release

1750d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/03b1b279fc8884dc96482b6cd25c7a28877b0f3223de52987651de8917da1ed4?d=identicon)[alicfeng](/maintainers/alicfeng)

---

Top Contributors

[![alicfeng](https://avatars.githubusercontent.com/u/28264271?v=4)](https://github.com/alicfeng "alicfeng (8 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/alicfeng-aliyun-rocket-mq/health.svg)

```
[![Health](https://phpackages.com/badges/alicfeng-aliyun-rocket-mq/health.svg)](https://phpackages.com/packages/alicfeng-aliyun-rocket-mq)
```

###  Alternatives

[league/geotools

Geo-related tools PHP 7.3+ library

1.4k5.3M26](/packages/league-geotools)[amphp/parser

A generator parser to make streaming parsers simple.

14952.8M16](/packages/amphp-parser)[amphp/serialization

Serialization tools for IPC and data storage in PHP.

13451.1M18](/packages/amphp-serialization)[deliciousbrains/wp-background-processing

WP Background Processing can be used to fire off non-blocking asynchronous requests or as a background processing tool, allowing you to queue tasks.

1.1k409.8k6](/packages/deliciousbrains-wp-background-processing)[react/async

Async utilities and fibers for ReactPHP

2238.8M171](/packages/react-async)[amphp/pipeline

Asynchronous iterators and operators.

7432.7M34](/packages/amphp-pipeline)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
