wilbur-yu / awesome-swoole

πŸ’Ž A curated list of awesome things related to Swoole.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Awesome Swoole Twitter Discord license

A curated list of awesome things related to Swoole.

Swoole Logo

Table of Contents

NOTE: Projects labelled with emoji 🌐 have their documentation written in non-English languages.

Client Packages

Cronjobs

  • hyperf/crontab - The cron component of Hyperf, allowing jobs to run at intervals of seconds.
  • osgochina/swoole-crontab - A Swoole-based crontab schedule. It allows jobs to run at intervals of seconds, and is fully compatible with crontab syntax. 🌐

Database

Debugging and Profiling

  • SkyAPM PHP - The PHP instrument agent for Apache SkyWalking.
  • Swoole Tracker - An online service to track and analyze the performances of PHP/Swoole applications. Key features include memory leak detection, performance analytics, and runtime stats. Chinese version only. 🌐
  • swoole/debugger - A remote debugger of Swoole. By adding one-line of code, you can debug your application remotely using a rich list of commands. 🌐
  • upscale/swoole-blackfire - Blackfire profiler integration for Swoole web-server.
  • yasd - Yet Another Swoole Debugger, developed by codinghuang from the Swoole team.

Development Environment

Distribution

  • static-php-cli - Build static PHP binary in Linux, with Swoole and other popular extensions included. 🌐

Frameworks

Framework Integration

To run PHP/PHP-FPM frameworks using Swoole.

  • PHP Runtimes - A home for runtimes, where people can easily create a Runtime to run an application with Bref, Swoole or ReactPHP without making any change to the application itself.
  • Laravel
    • Laravel Octane - A first-party Laravel package that supercharges laravelish application's performance by serving it using Swoole high-performance HTTP servers. Developed and maintained by the Laravel team.
    • hhxsv5/laravel-s - Glue for using Swoole in Laravel or Lumen.
    • huang-yi/shadowfax - Runs your Laravel application on Swoole.
    • scil/laravel-fly - To be an absolutely safe solution to speed up Laravel with Swoole. Preloading + Coroutine and Tinker Online.
    • swooletw/laravel-swoole - A high-performance HTTP server to run Laravel/Lumen application on top of Swoole.
    • toxmc/fast-laravel - A Swoole-based high-performance HTTP server to speed up your Laravel applications. 🌐
  • Phalcon
  • Slim
  • Symfony
    • symfony/runtime - The Runtime component decouples the bootstrapping logic from any global state to make sure the application can run with runtimes like PHP-FPM, ReactPHP, Swoole, etc. without any changes. For a more generic implementation that works with other frameworks/environments, please check project PHP Runtimes.
    • k911/swoole-bundle - Symfony integration with Swoole to speed up your applications.
  • ThinkPHP
  • Yii
  • Utopia
    • Utopia Swoole - An extension for Utopia Framework to work with PHP Swoole as a PHP FPM alternative.

gRPC

  • hyperf/grpc-client - The gRPC client component of Hyperf.
  • hyperf/grpc-server - The gRPC server component of Hyperf.
  • mix/grpc - A gRPC implementation based on Swoole. Protoc code generator, server, client, and more features included. 🌐
  • swoole/grpc - An efficient Swoole-based gRPC client. 🌐

HTTP

Libraries for working with HTTP.

  • PSR Compliance
  • Saber - A coroutine-based HTTP client. 🌐
  • Yurunsoft/Guzzle-Swoole - Make the Guzzle library coroutine-friendly in Swoole. It works with many Guzzle-based packages and Swoole-based frameworks. 🌐
  • Yurunsoft/YurunHttp - An easy-to-use HTTP client that works with HTTP/1, HTTP/2, and WebSocket protocols. It also supports chained operations, concurrent processing, and connection pool. 🌐

Logging

Serverless

SOA governance

Tasks and Queues

  • Archer - A Swoole-based task component, with different runtime modes supported: serial queue, concurrent queue, defer, timer, etc. 🌐
  • hyperf/amqp - The AMQP client of Hyperf.
  • hyperf/async-queue - The Redis-based asynchronous queue component of Hyperf.
  • hyperf/task - The task component of Hyperf, providing an easy way to add and dispatch tasks to task workers in Swoole.
  • kcloze/swoole-jobs - An efficient Swoole-based job queue system. 🌐
  • littlesqx/aint-queue - An async-queue library built on top of Swoole.
  • longlang/phpkafka - A coroutine-based Kafka client.

Testing

  • deminy/counit - To run time/IO related unit tests (e.g., sleep function calls, database queries, API calls, etc) faster using Swoole.

Third-party SDK

Miscellaneous

  • crowdstar/exponential-backoff - A library to prevent overloading an unavailable service by doubling the timeout each iteration. It works under both Swoole (in non-blocking mode) and PHP-FPM.
  • k8s/client - A Kubernetes API client for PHP.
  • leocavalcante/swoole-futures - Futures + Async/Await for PHP's Swoole asynchronous run-time.
  • leocavalcante/swoole-mutex - Mutual exclusion abstractions for PHP's Swoole concurrency run-time.
  • mix/sync-invoke - A library to execute synchronous blocking code without blocking the running process in Swoole. 🌐
  • xlswriter - A coroutine-friendly PHP Extension to create and read XLSX files.
  • yurun-crawler - A framework to build high-performance, distributed web crawler. 🌐
  • swoole-utils - A collection of utilities for building concurrent applications with Swoole. #WIP

Resources

Best Practices and Use Cases

  • Buggregator - A beautiful, lightweight debug server that helps you debug your app. Built with Laravel and Swoole.

Swoole Books

Fantastic Swoole-related books.

  • Mastering Swoole PHP - Build your high performance large scale concurrent system in a more flexible and efficient way than ever before with this first & only Swoole PHP book, with PHP 8 ready.

Swoole Videos

Fantastic Swoole-related videos.

Miscellaneous

About

πŸ’Ž A curated list of awesome things related to Swoole.

License:Creative Commons Zero v1.0 Universal