KafkaExample.php 870 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. namespace app\common\example;
  3. use app\common\library\Kafka;
  4. class KafkaExample
  5. {
  6. /**
  7. * 生产者示例
  8. */
  9. public function producer()
  10. {
  11. $kafka = Kafka::getInstance();
  12. $message = [
  13. 'id' => 1,
  14. 'event' => 'user_login',
  15. 'data' => [
  16. 'user_id' => 123,
  17. 'timestamp' => time()
  18. ]
  19. ];
  20. $kafka->publish('new_sdk_topic', $message);
  21. }
  22. /**
  23. * 消费者示例
  24. */
  25. public function consumer()
  26. {
  27. $kafka = Kafka::getInstance();
  28. $topics = ['new_sdk_topic'];
  29. $kafka->consume($topics, function($message) {
  30. $data = json_decode($message->payload, true);
  31. // 处理消息
  32. echo "Received message: " . $message->payload . "\n";
  33. });
  34. }
  35. }