定制 calchen/laravel-queue-aliyun-mns 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

calchen/laravel-queue-aliyun-mns

Composer 安装命令:

composer require calchen/laravel-queue-aliyun-mns

包简介

阿里云消息服务 Laravel/Lumen 扩展包(Aliyun MNS for Laravel/Lumen)

README 文档

README

阿里云消息服务(MNS) Laravel/Lumen 扩展包

Style CI Travis CI Coverage Status Latest Stable Version Total Downloads License

English

这是一个基于阿里云 MNS SDK的 Laravel/Lumen 队列驱动扩展包

安装

推荐使用 composer 进行安装:

$ composer require calchen/laravel-queue-aliyun-mns:^2.0

Laravel

Laravel 5.5+ 已经实现了扩展包发现机制,您不需要进行额外的加载操作

Lumen

Lumen 并未移植扩展包自动发现机制,所以需要手动加载扩展包并复制配置文件。

打开配置文件 bootstrap/app.php 并在大约 81 行左右添加如下内容:

$app->register(Calchen\LaravelQueueAliyunMns\AliyunMnsServiceProvider::class);

将文件系统配置文件从 vendor/laravel/lumen-framework/queue.php 复制到 config/queue.php

配置

打开配置文件 config/queue.php 并在 connections 中添加如下内容:

'mns' => [
    'driver' => 'mns',
    'access_key_id' => env('ALIYUN_ACCESS_KEY_ID'),
    'access_key_secret' => env('ALIYUN_ACCESS_KEY_SECRET'),
    'endpoint' => env('ALIYUN_MNS_ENDPOINT'),
    'queue' => env('ALIYUN_MNS_QUEUE'),
],

如果您想将阿里云 MNS 作为默认的队列,那么可以在 .env 文件中设置配置项 QUEUE_CONNECTION=mns

配置说明

配置项 必须 说明 备注
driver 驱动名称 默认值:mns,不可修改
access_id 用于身份验证的 AccessKey ID 见下文“安全提醒”
access_key_secret 用于身份验证的 AccessKey Key Secret 见下文“安全提醒”
endpoint 地域节点 见下文“地域节点”
queue 队列名称 -
wait_seconds 即长轮询时长 消费消息

地域节点(endpoint)

阿里云 MNS 控制台选择正确的区域后,点击“获取 Endpoint”按钮查看对应的地域节点。

需要注意的是您看到的地域节点可能是这样的 http(s)://1687399289328741.mns.cn-hangzhou.aliyuncs.com/,但实际上只能使用 https://1687399289328741.mns.cn-hangzhou.aliyuncs.com/http://1687399289328741.mns.cn-hangzhou.aliyuncs.com/

安全提醒

为了安全,请使用子账户的 AccessKey ID 和 AccessKey Key Secret,请务必不要使用主账户的 AccessKey ID 和 AccessKey Key Secret

RAM 访问控制权限策略参考

本项目使用了阿里云 MNS 的这些方法:GetQueueAttributes、SendMessage、ReceiveMessage、DeleteMessage、ChangeMessageVisibility。

根据阿里云 MNS 文档并践行最佳安全实践,为 RAM 用户授予最小权限。这里以杭州区(cn-hangzhou)名称为 laravel-queue-aliyun-mns 的队列为例:

{
    "Version": "1",
    "Statement": [
        {
            "Action": "mns:GetQueueAttributes",
            "Resource": [
                "acs:mns:cn-hangzhou:*:/queues/laravel-queue-aliyun-mns"
            ],
            "Effect": "Allow"
        },
        {
            "Action": [
                "mns:SendMessage",
                "mns:ReceiveMessage",
                "mns:DeleteMessage",
                "mns:ChangeMessageVisibility"
            ],
            "Resource": [
                "acs:mns:cn-hangzhou:*:/queues/laravel-queue-aliyun-mns/messages"
            ],
            "Effect": "Allow"
        }
    ]
}

开源协议

MIT

统计信息

  • 总下载量: 291
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 10
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 10
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2019-08-31

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固