이 글은 서비스 간 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!