承接 memran/marwa-kafka 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

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

memran/marwa-kafka

Composer 安装命令:

composer require memran/marwa-kafka

包简介

A lightweight, secure Kafka producer/consumer wrapper with Envelop messaging support

README 文档

README

License Total Downloads PHP Version Kafka

A lightweight, PSR-4 compliant Kafka producer/consumer library for PHP, powered by php-rdkafka and enriched with secure message envelopes from memran/marwa-envelop.

✨ Features

  • ✅ Lazy-loaded Kafka producer and consumer
  • ✅ Secure messaging with TTL, signature & type using Envelop
  • ✅ PSR-4 structure and clean, testable design
  • ✅ CLI and Web-compatible
  • ✅ KISS & DRY principles applied
  • ✅ Plug-and-play Docker + Kafka setup

📦 Installation

composer require memran/marwa-kafka

Also ensure you have the rdkafka extension installed:

pecl install rdkafka

🐳 Quick Start (Docker Dev Environment)

1. Clone and start Kafka + PHP containers

git clone https://github.com/memran/marwa-kafka.git
cd marwa-kafka
docker compose up -d --build

2. Enter PHP CLI container

docker compose exec php bash

🧩 Usage Example

Produce Message

use Marwa\Kafka\KafkaProducer;
use Marwa\Kafka\Support\KafkaConfig;
use Marwa\Kafka\DTO\Message;

$config = new KafkaConfig('kafka:9092', 'php-client');
$producer = new KafkaProducer($config, 'my-signature-key');

$producer->produce(new Message(
    topic: 'test-topic',
    payload: ['hello' => 'kafka'],
    key: 'my-key',
    headers: ['type' => 'event', 'sender' => 'php']
));
$producer->flush();

Consume Message

use Marwa\Kafka\KafkaConsumer;
use Marwa\Kafka\Support\KafkaConfig;

$config = new KafkaConfig('kafka:9092');
$consumer = new KafkaConsumer(
    config: $config,
    groupId: 'my-group',
    topics: ['test-topic'],
    signatureSecret: 'my-signature-key'
);

$consumer->run(function ($msg) {
    print_r($msg['body']);
});

📂 Directory Structure

src/
├── KafkaProducer.php
├── KafkaConsumer.php
├── DTO/Message.php
├── Support/KafkaConfig.php
└── Contracts/
    ├── ProducerInterface.php
    └── ConsumerInterface.php

🧪 Testing

composer install
vendor/bin/phpunit

📋 License

Licensed under the MIT License.

🧠 Related Projects

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-08-26