{"id":35717150,"url":"https://github.com/php-kafka/about","last_synced_at":"2026-01-06T06:01:49.091Z","repository":{"id":52980747,"uuid":"307688664","full_name":"php-kafka/about","owner":"php-kafka","description":"PHP Kafka resources / projects","archived":false,"fork":false,"pushed_at":"2022-09-08T08:56:05.000Z","size":149,"stargazers_count":1,"open_issues_count":0,"forks_count":3,"subscribers_count":4,"default_branch":"main","last_synced_at":"2023-03-10T00:18:10.811Z","etag":null,"topics":["guide","kafka","php","tutorial"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/php-kafka.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":["nick-zh"]}},"created_at":"2020-10-27T12:13:35.000Z","updated_at":"2023-01-15T15:19:13.000Z","dependencies_parsed_at":"2023-01-18T00:45:29.748Z","dependency_job_id":null,"html_url":"https://github.com/php-kafka/about","commit_stats":null,"previous_names":[],"tags_count":null,"template":null,"template_full_name":null,"purl":"pkg:github/php-kafka/about","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/php-kafka%2Fabout","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/php-kafka%2Fabout/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/php-kafka%2Fabout/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/php-kafka%2Fabout/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/php-kafka","download_url":"https://codeload.github.com/php-kafka/about/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/php-kafka%2Fabout/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28222596,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2026-01-06T02:00:07.049Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["guide","kafka","php","tutorial"],"created_at":"2026-01-06T06:00:54.527Z","updated_at":"2026-01-06T06:01:49.086Z","avatar_url":"https://github.com/php-kafka.png","language":null,"readme":"# PHP Kafka\n## Description\nThis is an effort to collect all things related PHP Kafka in one place  \nand give everybody a better information about what is available in our ecosystem.  \nIf your project is missing, please feel free to create a PR to add it.\n\n## Kafka Integration\n\n### C binding\n[librdkafka](https://github.com/edenhill/librdkafka) is a C binding that is used by many  \nofficial language bindings of [Confluent](https://www.confluent.io/), e.g. for Go, Python, C#, etc.  \nIt is also used in the extensions and bindings for PHP created by the community.  \n:warning: many linux distributions are shipped with a very old version of librdkafka.  \nIn this case it is advisable to build a more recent version manually.\n\n### Extensions\n#### arnaud-lb/php-rdkafka\nThis is a stable extension and its source can be found [here](https://github.com/arnaud-lb/php-rdkafka).  \nIts goal is to stay as close as possible to the API of librdafka.  \nIt has a very large spectrum of support, and avoids breaking changes:\n- PHP5 - PHP8\n- librdkafka v0.11.6 - latest\n\n#### php-kafka/php-simple-kafka-client\nThis is a new extension, created by a contributor of php-rdkafka. The source can be found [here](https://github.com/php-kafka/php-simple-kafka-client).  \nIts goal is to reduce complexity of the librdkafka API and to move faster in terms of adoption.  \nIt will only support PHP versions that are not EOL and librdkafka versions that are not outdated (roughly 1year).  \n\n### FFI binding\n#### idealo/php-rdkafka-ffi\nIs an FFI binding that sticks as closely as possibly to the API of php-rdkafka. The source can be found [here](https://github.com/idealo/php-rdkafka-ffi).  \nIt also offers Admin API (create, alter topics, etc.), which none of the extensions offer so far.\n\n### PHP bindings\n#### swoole/phpkafka\nNew project that is implemented purely in PHP. Its source can be found [here](https://github.com/swoole/phpkafka)\n\n## Kafka Schema registry\n### flix-tech/schema-registry-php-client\nIs a REST client to interact with the Kafka schema registry. Its source can be found [here](https://github.com/flix-tech/schema-registry-php-client)\n### jobcloud/php-kafka-schema-registry-client\nIs a REST client to interact with the Kafka schema registry. Its source can be found [here](https://github.com/jobcloud/php-kafka-schema-registry-client)\n### jobcloud/php-console-kafka-schema-registry\nIs a project providing symfony console commands to interact with the Kafka schema registry  \nUseful for CI / CD for schemas. Its source can be found [here](https://github.com/jobcloud/php-console-kafka-schema-registry).\n\n## PHP libraries\n### Description\nThese libraries use the php extensions and try to make it easier to use the extensions  \nand give a more fluid interface / simpler usage, etc.\n### php-enqueue/enqueue-dev\nIs a project that supports many messaging / streaming tranpsorts besides Kafka (php-rdkafka).  \nIt integrates easy with Symfony, Laravel, Yii and other PHP framworks / projects. Its source can be found [here](https://github.com/php-enqueue/enqueue-dev)\n### jobcloud/php-kafka-lib\nIs a very lightweight library, to help use php-rdkafka in an easier and more readable way.  \nNew features of the extension are adopted in a fast manner. Its source can be found [here](https://github.com/jobcloud/php-kafka-lib)\n#### Visual overview\n![php-kafka-lib visual overview](resources/php-kafka-lib-visual.png)\n(credits to @robsontenorio, thank you!)\n### php-kafka/php-simple-kafka-lib\nIs a very lightweight library, to help use php-simple-kafka-client in an easier and more readable way.  \nNew features of the extension are adopted in a fast manner. Its source can be found [here](https://github.com/php-kafka/php-simple-kafka-lib)  \nThis library is based on the works of [jobcloud/php-kafka-lib](https://github.com/jobcloud/php-kafka-lib)\n#### Visual overview\n![php-simple-kafka-lib visual overview](resources/php-simple-kafka-lib-visual.png)\n\n## Avro\n### Description\nAvro is a way to define schemas for your messages. This helps improve service communication.  \nIn the strictest form it allows applications not to break as the schemas evolves.  \nIt is highly advised to use schemas for your messages.  \nYou can read more about compatibility [here](https://docs.confluent.io/platform/current/schema-registry/avro.html)\n### apache/avro\nOfficial avro support, but no composer integration as of now. The source can be found [here](https://github.com/apache/avro/tree/master/lang/php)\n### flix-tech/avro-serde-php\nUsed for serialization / deserialization of avro messages, can be used async.  \njobcloud/php-kafka-lib uses this library for Avro support.\nThe source can be found [here](https://github.com/flix-tech/avro-serde-php)\n### wikimedia/avro-php\nFork of the offical apache repository with additional fixes. Its source can be found [here](https://github.com/wikimedia/avro-php)\n\n### Avro generator / subschema helpers\n#### Description\nAvro schemas can get very complex, especially if you have a nested data structure. It is desirable to  \nseperate these nested structures in sub-schemas. To do this, we need a tool, that will merge a schema  \nand all its sub schemas into a valid schema.\n### flix-tech/avro-serde-php\nProvides the possibility to create schema with a builder and also to merge schema. Its source can be found [here](https://github.com/flix-tech/avro-serde-php)\n### php-kafka/php-avro-schema-generator\nIs a small helper library to create a schema from classes (alpha) and to merge schema.  \nIts source can be found [here](https://github.com/php-kafka/php-avro-schema-generator)\n\n## Protobuf\n### Description\nApache Kafka also supports schema in Protobuf. I have no more info atm, as i am using Avro.  \nContributions for projects, etc. are welcome\n\n## Code examples (producer / consumer)\n### php-kafka/php-kafka-examples\nProvides examples for extensions in usage with libraries. See examples [here](https://github.com/php-kafka/php-kafka-examples)\n\n## Learning / resources\n- [Confluent blog](https://www.confluent.io/blog) has a lot of good articles\n- [Enterprise integration patterns](https://www.enterpriseintegrationpatterns.com/) a fantastic book that is still very relevant\n- [Designing event driven systems](https://www.confluent.io/designing-event-driven-systems/)\n- [Kafka the definitive guide](https://www.confluent.io/resources/kafka-the-definitive-guide/) deep dive into Apache Kafka\n- [Microservices and Kafka](https://www.confluent.io/resources/microservices-in-the-apache-kafka-ecosystem/) input on system architecture\n\n## Providers: Managed Kafka\n- [Aiven](https://aiven.io/kafka)\n- [Confluent](https://www.confluent.io/confluent-cloud)\n","funding_links":["https://github.com/sponsors/nick-zh"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphp-kafka%2Fabout","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fphp-kafka%2Fabout","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fphp-kafka%2Fabout/lists"}