Heim >Backend-Entwicklung >PHP-Tutorial >Detaillierte Einführung in die dienstübergreifende Kommunikation RPC

Detaillierte Einführung in die dienstübergreifende Kommunikation RPC

不言
不言nach vorne
2018-12-29 10:19:184011Durchsuche

Dieser Artikel bietet Ihnen eine detaillierte Einführung in die RPC-Kommunikation zwischen Diensten. Freunde in Not können darauf verweisen.

Heutzutage sind Microservices beliebt und es gibt wahrscheinlich zwei Möglichkeiten, zwischen Diensten zu kommunizieren: Api und Rpc.

Anhand der folgenden zwei Beispiele können Sie den Unterschied zwischen Api und Rpc verstehen.

Lie Zi 1. Ergänzung, Löschung, Änderung und Überprüfung des Artikels.

API-Implementierung:

Router::get('/article/{id}','ArticleController@get');
Router::post('/article','ArticleController@create');
Router::put('/article/{id}','ArticleController@edit');
Router::delete('/article/{id}','ArticleController@delete');

Rufen Sie dann das Modell

return Article::find($id)->toArray();

Rpc-Implementierung

RpcServer::add('Article');
Ja, nur eine Zeile Code

Liezi 2-Rechner

Angenommen, es gibt einen Taschenrechner Auf der Maschine wird ein Zähler in Form von RPC-Code für andere Maschinen bereitgestellt 🎜>

Rpc-Client-Aufruf

class Counter
{

    private $i = 0;

    public function __construct($i = 0)
    {
        $this->i = $i;
    }

    // 加法
    public function add($v)
    {
        $this->i += $v;
        return $this;
    }

    // 减法
    public function sub($v)
    {
        $this->i -= $v;
        return $this;
    }

    // 乘法
    public function mul($v)
    {
        $this->i *= $v;
        return $this;
    }

    // 除法
    public function p($v)
    {
        $this->i /= $v;
        return $this;
    }

    // 获取结果
    public function get()
    {
        return $this->i;
    }
}

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in die dienstübergreifende Kommunikation RPC. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:segmentfault.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen