這篇文章帶給大家的內容是關於服務間通訊RPC的詳細介紹,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
現微服務盛行,服務之間通訊大概就兩種方式Api和Rpc。
下面兩個列子來讓你了解Api和Rpc的差別。
列子一 文章的增刪改查。
Api 實作:
Router::get('/article/{id}','ArticleController@get'); Router::post('/article','ArticleController@create'); Router::put('/article/{id}','ArticleController@edit'); Router::delete('/article/{id}','ArticleController@delete');
然後在控制器Article呼叫模型
return Article::find($id)->toArray();
#Rpc 實作
RpcServer::add('Article');
沒錯就一行程式碼
#列子二計算器
假如機器A上面一個計算器Counter,以Rpc的方式提供給其他機器使用.
計算器Counter代碼
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');
$c = new ClientCounter(10);
echo $c->add(3)->mul(2)->sub(10)->p(5)->get();
以上是服務間通訊RPC的詳細介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!