首页 » 网站推广 » protobufferphp技巧_php项目拆分rpc选型

protobufferphp技巧_php项目拆分rpc选型

访客 2024-11-19 0

扫一扫用手机浏览

文章目录 [+]

问题:那这个6个项目是怎么相互调用的呢?新项目又怎么调用呢?

创建一个和这6个项目目录平级的新的项目(codebase),这个项目是一个公共的调用项目。
其他所有项目index.php都include codebase中的autoload.php文件。
为什么没有选择用composer的办法将新的codebase加入到项目中。
由于上线太麻烦了,在codebase中修正一个功能,须要折衷6个项目组中的人去composer update ,同时去上线、测试。
这个流程就太漫长了,也不知足我们设计这套方案的初衷。
目前只假如新功能都会产生一个独立的项目,如果这几个端口和新功能有关系,那么都是通过rpc的办法来调用。

protobufferphp技巧_php项目拆分rpc选型

协议选择:protobuffer、thrift、json-rpc、yar。
对付Pb和thrift我觉得还是重了一点,团队中至少目前跨措辞还没有涌现。
json-rpc没有找到利用得比较广泛的运用、且关注的人比较少。
以是末了选择鸟哥的yar。

protobufferphp技巧_php项目拆分rpc选型
(图片来自网络侵删)

yar是一个php的扩展,须要安装,安装方法参考末了链接解释。

rpc的上风是可以调用本地方法一样调用远程的方法,且可以捕获非常,非常方面。

客户端:须要把稳的是client设置超时时间YAR_OPT_TIMEOUT,单位为秒。

以下是copy鸟哥的解释:

<?php$client = new Yar_Client("http://host/api/");$client->SetOpt(YAR_OPT_CONNECT_TIMEOUT, 1000);$client->SetOpt(YAR_OPT_HEADER, array("hd1: val", "hd2: val")); //调用远端做事$result = $client->some_method("parameter");

做事端:一个普通的php-fpm,不是像swoole这种常驻进程。

<?phpclass API { public function some_method($parameter, $option = "foo") { } protected function client_can_not_see() { }}$service = new Yar_Server(new API());$service->handle();

参考:https://github.com/laruence/yar

技能互换QQ群号:1005491328

感谢三橙挪车支持

标签:

相关文章

Python编程从入门到精通,探索编程之美

编程已经成为现代社会的一项基本技能。Python作为一种简单易学、功能强大的编程语言,在我国教育领域备受关注。本文将从Python...

网站推广 2025-03-02 阅读1 评论0

Scum07代码编程之美与适用方法

编程已成为当今社会不可或缺的技能之一。Scum07代码作为一款经典的编程语言,在我国众多程序员中备受推崇。本文将深入解析Scum0...

网站推广 2025-03-02 阅读1 评论0

Linux环境下的前端代码运行优化与步骤

前端技术逐渐成为软件开发的核心。Linux操作系统因其稳定性、安全性、开放性等特点,成为众多开发者和企业青睐的运行环境。本文将从L...

网站推广 2025-03-02 阅读1 评论0