kraken-php / framework
- среда, 12 октября 2016 г. в 03:12:35
PHP
The first and only fault-tolerant PHP framework for distributed applications.
Note: This repository contains the core of the Kraken Framework. If you want to start developing new application with Kraken, check out Kraken Application Skeleton. If you want to learn more visit official website.
Kraken is the first and only multi-processed, multi-threaded, fault-tolerant framework for PHP. It has been written to provide easy and reliable API for creating distributed applications using PHP. Kraken aims to solve typical problems of writing such applications and to provide developers with powerful yet elegant tools for dealing with them.
The main focus of Kraken Framework is put on:
Start writing applications that were previously marked as impossible or hard to implement in PHP right know. Servers, service-oriented architecture, agent-based models, games, complex daemons, socket programs, schedulers and much, much more - nothing is impossible with Kraken!
Kraken features:
Full list of features can be found on official website.
Kraken Framework is fully modular and each of its components can be used separately. If for some reason you don't want to download full application stack, you can require any of the following components:
Kraken is able to emit millions of events and thousands of messages and connections per second using single container. It is scalable for multiple processes and threads, faster than traditional PHP approach and able to handle same or higher amount of connections that Node.js.
Documentation for the framework can be found in the official documentation page. To see installation instructions, please check out application skeleton or go to installation guide.
There are few examples you can try, before deciding to use Kraken:
If you have written your own demo application for Kraken, and want to list it here, contact us!
In most cases yes, but developers still have to keep an eye on application memory usage. PHP 5.5+, which is required for using framework, is able to successfully deal with proper memory handling and garbage collecting. It proves to be true regarding Kraken modules as in development cycle special attention was paid to ensure they do not leak memory. This, however, cannot be guaranteed with usage of third party vendors as some (ex. ORMs) are known to be prone to this problem. The easiest way to avoid it is to simply use destructors, unset functions and create memory allocation and deallocation tests. If despite that you still stumble across this problem, the best way to deal with it is to isolate leaking piece of code in separated container and restart it cyclically when it reaches its memory limits.
If there are any additional questions that you have about framework, please check whether the answers for them have been
already posted in faq section or ask on our gitter room.
Thank you for considering contributing to Kraken Framework! The contribution guide can be found in the contribution tips.
Kraken Framework is open-sourced software licensed under the MIT license. The documentation is provided under FDL-1.3 license.