Skip to content

Latest commit

History

History
57 lines (43 loc) 路 1.43 KB

File metadata and controls

57 lines (43 loc) 路 1.43 KB

RCE Router

Remote code execution router/load balancer - Checks which RCE Server has the lowest connections and sends the client request to it.

Notice 馃攰

This project is currently receiving massive updates, which may include code refactoring, namespace change, and many other stuffs that may cause the code to brake or not work entirely.
This project is not ready!!!

Installation

composer require remcodex/router

Usage

use Remcodex\Router\RemoteServer;
use Remcodex\Router\Server;

require 'vendor/autoload.php';

$serverUri = '0.0.0.0:9000';
$server = Server::listen($serverUri);

//Add remote server
$server->addRemoteServer(
    //1
    RemoteServer::create('localhost:9110')
        ->protocol(RemoteServer::UNSECURE)
        ->path('api/http/request'),
    //2
    RemoteServer::create('localhost:9111')
        ->protocol(RemoteServer::UNSECURE)
        ->path('api/http/request'),
    //3
    RemoteServer::create('localhost:9112')
        ->protocol(RemoteServer::UNSECURE)
        ->path('api/http/request'),
);

//Add error handler
$server->onError(function (Throwable $exception) {
    echo "Error occurred";
    echo $exception;
});

echo "Server starting at: http://{$serverUri}\n";
$server->start();

Note: Remote Servers must be started for each address registered above.

Built with ReactPHP