> 백엔드 개발 > PHP 튜토리얼 > 서비스 간 통신 RPC에 대한 자세한 소개

서비스 간 통신 RPC에 대한 자세한 소개

不言
풀어 주다: 2023-04-04 15:52:01
앞으로
3989명이 탐색했습니다.

이 글은 서비스 간 RPC 통신에 대해 자세히 소개한 내용입니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

마이크로서비스는 현재 널리 보급되어 있으며 서비스 간 통신에는 Api와 Rpc라는 두 가지 방법이 있을 수 있습니다.

다음 두 가지 예를 통해 Api와 Rpc의 차이점을 이해할 수 있습니다.

Liezi 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');
로그인 후 복사

그런 다음 컨트롤러 기사에서 모델

return Article::find($id)->toArray();
로그인 후 복사

Rpc를 호출하여

RpcServer::add('Article');
로그인 후 복사

그렇습니다. 코드 한 줄

Liezi 2 계산기

머신 A를 가정해 보겠습니다. 위의 계산기 카운터는 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 클라이언트 호출

$c = new ClientCounter(10);
echo $c->add(3)->mul(2)->sub(10)->p(5)->get();
로그인 후 복사

위 내용은 서비스 간 통신 RPC에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:segmentfault.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿