php rpc接口服务,服务间通信RPC的详细介绍

本文深入探讨了服务间通信的两种主要方式——API和RPC,并通过文章增删改查及计算器应用的例子,展示了API与RPC在实现上的区别。RPC(远程过程调用)以其简洁的调用方式,如 RpcServer::add('Counter'),相较于API提供了更直接的跨服务操作。在微服务架构中,理解并选择合适的通信方式对于系统的效率和可维护性至关重要。
摘要由CSDN通过智能技术生成

本篇文章给大家带来的内容是关于服务间通信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');

Rpc客户端调用$c = new ClientCounter(10);

echo $c->add(3)->mul(2)->sub(10)->p(5)->get();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值