9 Star 12 Fork 2

Kevin6188 / php_soa_framework

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 1.98 KB
一键复制 编辑 原始数据 按行查看 历史
xuhuahai 提交于 2016-08-02 14:30 . 提交代码

##描述

在实际工作中发现没有类似Dubbo那种成熟度比较高的PHP服务框架,去年正好工作不是特别忙,就模仿Dubbo写了一个服务框架。

使用Zookeeper提供服务注册和服务发现功能,通过TCP+JSON的方式进行RPC通讯,服务节点(PHP/Java)可以在启动后自动把自身模块包含的服务注册到Zookeeper上,服务调用者就可以从Zookeeper获取服务的节点位置信息,进行调用。

调用者通过一个本地代理程序进行RPC通讯,这样就可以比较好的适应PHP多进程的运行环境,从而避免调用方耦合大量的TCP连接池管理这种重度功能。

##程序分为下面几个部分

front 调用端的调用封装的PHP脚本

soa_fw/ext/scc 调用端的PHP扩展

soa_fw/soa_proxy RPC调用代理

soa_fw/ext/scp 服务节点端的PHP扩展

soa_fw/soa_tools 用于操作ZK的命令行工具

soa_fw/scripts 清除日志的shell脚本

backend/base PHP版本的服务节点运行环境

backend/modules/demo PHP版本的服务模块示例

backend_java/base Java版本的服务节点运行环境

backend_java/modules/demo Java版本的服务模块示例

###PHP服务节点

把PHP版本的服务节点运行环境跑起来,服务模块的示例放入app/services目录下,执行: soa.sh start

###Java服务节点

把Java版本的服务节点运行环境跑起来,服务模块的示例的jar包放入lib\services目录下,执行: soa.sh start

###调用端

把RPC调用代理跑起来,可以借鉴front里面的代码进行调用端的编写,集成在Nginx+PHP-FPM环境中

###配置

(略)

##编译安装

(略)

###依赖的库:

Zookeeper C API -- 用于访问Zookeeper的客户端库
Swoole          -- 作为PHP服务节点的运行容器
zlog            -- RPC调用代理用它来打印日志

##联系开发者

堂吉诃德
421093703@qq.com http://my.oschina.net/xuhh

C
1
https://gitee.com/kevin158/php_soa_framework.git
git@gitee.com:kevin158/php_soa_framework.git
kevin158
php_soa_framework
php_soa_framework
master

搜索帮助