ホームページ  >  記事  >  バックエンド開発  >  サービス間通信 RPC の詳細な紹介

サービス間通信 RPC の詳細な紹介

不言
不言転載
2018-12-29 10:19:183975ブラウズ

この記事では、サービス間の RPC 通信について詳しく説明します。一定の参考価値があります。困っている友人は参考にしてください。お役に立てれば幸いです。

現在、マイクロサービスが普及しており、サービス間の通信にはおそらく API と Rpc の 2 つの方法があります。

次の 2 つの例は、Api と Rpc の違いを理解するのに役立ちます。

嘘子1 記事の追加、削除、修正、見直し。

#Api 実装:

Router::get('/article/{id}','ArticleController@get');
Router::post('/article','ArticleController@create');
Router::put('/article/{id}','ArticleController@edit');
Router::delete('/article/{id}','ArticleController@delete');
次に、コントローラーでモデルを呼び出します。

##Rpc 実装

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

はい、たった 1 行のコードです

Liezi 2 電卓

電卓がある場合マシン上 カウンターは Rpc の形式で他のマシンに提供されます。

電卓カウンター コード

RpcServer::add('Article');

Rpc 実装

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;
    }
}

Rpc クライアント呼び出し

RpcServer::add('Counter');

以上がサービス間通信 RPC の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。