• 技术文章 >后端开发 >php教程

    服务间通信RPC的详细介绍

    不言不言2018-12-29 10:19:18转载2270
    本篇文章给大家带来的内容是关于服务间通信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();

    以上就是服务间通信RPC的详细介绍的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:segmentfault,如有侵犯,请联系admin@php.cn删除
    专题推荐:微服务 rpc swoole php
    上一篇:php中json_decode函数使用方法的而详细介绍 下一篇:PHP如何删除字符串中的非字母数字字符?(代码示例)
    大前端线上培训班

    相关文章推荐

    • node.js中RPC(远程过程调用)的实现原理介绍_node.js• php xml-rpc远程调用_php实例• ThinkPHP内置jsonRPC的缺陷分析_PHP• 使用PHPRPC实现Ajax安全登录_PHP• php中关于codeigniter的xmlrpc的类在进行数据交换时的类型问题_PHP• AMFPHP php远程调用(RPC, Remote Procedure Call)工具 快速入门_PHP• 关于rpc如何使用签名认证?• php-phprpc - phprpc使用的几个问题

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网