denpa/laravel-zeromq 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

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

denpa/laravel-zeromq

Composer 安装命令:

composer require denpa/laravel-zeromq

包简介

ZeroMQ driver for Laravel

README 文档

README

Latest Stable Version License Build Status Code Climate Code Coverage

About

Fully unit-tested Laravel ZeroMQ driver based on react/zmq.

Installation

  1. Install package:
composer require denpa/laravel-zeromq "^1.0"
  1. (skip if using Laravel 5.5 or newer) Add service provider and facade to ./config/app.php
'providers' => [
    ...
    Denpa\ZeroMQ\Providers\ServiceProvider::class,
];
'aliases' => [
    ...
    'ZeroMQ' => Denpa\ZeroMQ\Facades\ZeroMQ::class,
];
  1. Publish config file php artisan vendor:publish --provider="Denpa\ZeroMQ\Providers\ServiceProvider" in your project directory.

Requirements

  • PHP 7.1 or higher
  • ZMQ PHP extension
  • Laravel 5.3 or higher

Usage

Publish:

zeromq()->publish(['foo', 'bar'], 'hello');
zeromq()->connection('test')->publish(['foo', 'bar'], 'hello');

Pull:

zeromq()->pull(function ($message) {
    echo $message;
});

Push:

zeromq()->push('hello');

Subscribe:

zeromq()->subscribe(['foo', 'bar'], function ($message) {
    echo $message;
});

Facade

use Denpa\ZeroMQ\Facades\ZeroMQ;

$callback = function ($message) {
    echo $message;
};

// use default connection
ZeroMQ::publish(['foo', 'bar'], 'hello');
ZeroMQ::pull($callback);
ZeroMQ::push('hello');
ZeroMQ::subscribe(['foo', 'bar'], $callback);

// use different connection
ZeroMQ::connection('baz')->push('hello');

Broadcasting

Set BROADCAST_DRIVER=zeromq in environment file and add following lines

'zeromq' => [
    'driver' => 'zeromq',
],

to 'connections' key in config/broadcasting.php.

Now use laravel broadcast($event); helper to broadcast events via ZeroMQ.

Bitcoin Core (laravel-bitcoinrpc)

laravel-bitcoinrpc integrates this package to subscribe to topics broadcasted by Bitcoin Core (and some forks).

bitcoind()->on('hashblock', function ($blockhash, $sequence) {
    // get hash of new best block and retrieve full block info
    $block = bitcoind()->getBlock($blockhash);
    print_r($block->get());
});

For more info, visit laravel-bitcoinrpc documentation.

License

This product is distributed under MIT license.

denpa/laravel-zeromq 适用场景与选型建议

denpa/laravel-zeromq 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 1.17k 次下载、GitHub Stars 达 17, 最近一次更新时间为 2018 年 09 月 13 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「zeromq」 「zmq」 「messaging」 「laravel」 「pubsub」 「pushpull」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 denpa/laravel-zeromq 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 denpa/laravel-zeromq 我们能提供哪些服务?
定制开发 / 二次开发

基于 denpa/laravel-zeromq 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 1.17k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 17
  • 点击次数: 23
  • 依赖项目数: 0
  • 推荐数: 1

GitHub 信息

  • Stars: 17
  • Watchers: 1
  • Forks: 7
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2018-09-13