MAC 安装并行的RPC框架(Yar)

1.简介鸟哥语录

传统的Web应用, 一个进程, 一个请求, 天经地义. 然而, 当一个请求的处理中, 涉及到多出数据源, 并且他们之间具有一定的不依赖性.
还是传统的Web应用, 一个应用随着业务快速增长, 开发人员的流转, 就会慢慢的进入一个恶性循环, 代码量上只有加法没有了减法. 因为随着系统变复杂, 牵一发就会动全局, 而新来的维护者, 对原有的体系并没有那么多时间给他让他全面掌握. 即使有这么多时间, 要想掌握以前那么多的维护者的思维的结合, 也不是一件容易的事情…
那么, 长次以往, 这个系统将会越来越不可维护…. 到一个大型应用进入这个恶性循环, 那么等待他的只有重构了.
那么, 能不能对这个系统做解耦呢?
我们已经做了很多解耦了, 数据, 中间件, 业务, 逻辑, 等等, 各种分层. 但到Web应用这块, 还能怎么分呢, MVC我们已经做过了….
基于此, Yar或许能解决你遇到的这俩个问题…

2.安装

yar依赖msgpack扩展,下面是提供的两种方式

1.pecl install msgpack
2.brew install msgpack 

注意把msgpack放到php.ini中
1.yum install git
2.git clone https://github.com/laruence/yar.git
3.然后 进入yar 目录
4.开始编译安装
        4.1 phpize
        4.2./configure --with-php-config=/usr/bin/php-config (如果不知道php-config 在什么目录,则执行命令 which php-config)
        4.3 make && make install
5.php.ini 中放入extension=yar
6.重启apache

3.安装结果

10306662-50e1b913fad9c246.png
image.png

4.如何使用

1.文件目录
10306662-f419ad06388a4d82.png
image.png
1.服务端代码
<?php
/**
 * User: 郭玉朝
 * CreateTime: 2018/7/26 下午6:05
 * Description:
 */
class YarServer {
    public function support($uid,$feedId){
        return "uid = ".$uid.", feedId = ".$feedId;
    }

    public function support1($uid,$feedId){
        return "uid = ".$uid.", feedId = ".$feedId;
    }

    public function support2($uid,$feedId){
        return "uid = ".$uid.", feedId = ".$feedId;
    }
}

$yar_server = new Yar_server(new YarServer());
$yar_server->handle();
2.客户端代码
<?php

class YarClient {
    // RPC 服务地址映射表
    public static $rpcConfig = array(
        "YarServer"    => "http://127.0.0.1/test/yar-test/YarServer.php",
    );

    public static function init($server){
        if (array_key_exists($server, self::$rpcConfig)) {
            $uri = self::$rpcConfig[$server];
            return new Yar_Client($uri);
        }
    }
}

$RewardScoreService = YarClient::init("YarServer");
/**@var $RewardScoreService YarServer */
var_dump($RewardScoreService->support(1, 2));
3.启动服务端
10306662-0f0524d53a1b73a3.png
image.png
4.客户端调用
10306662-28bc2a42a9ea9af1.png
image.png

5.相关学习资源

鸟哥博客
https://lvtao.net/yaf/yar.html

6.欢迎加入PHP前沿学习: 257948349

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值