motan-php

  • 所有者: weibocom/motan-php
  • 平台:
  • 许可证:
  • 分类:
  • 主题:
  • 喜欢:
    0
      比较:

Github星跟踪图

Motan-PHP

License
https://travis-ci.org/weibocom/motan-php.svg?branch=master

Overview

Motan is a cross-language remote procedure call(RPC) framework for rapid development of high performance distributed services.

This project is the PHP Motan implementation. Provides PHP motan client.

Quick Start

Installation

Using composer:

Just clone this project and add it to your composer.json.

WithOut Composer:

If you didn't use composer for php libraries management, you would install motan-php by hand,like git clone, please check the demo at motan-example .

Usage:

we need an defined constant MOTAN_PHP_ROOT for load the motan php libs. Just like the demo does.

define('MOTAN_PHP_ROOT', './vendor/motan/motan-php/src/Motan/');
require MOTAN_PHP_ROOT . 'init.php';

The quick start gives very basic example of running client and server on the same machine. For the detailed information about using and developing Motan, please jump to Documents.
the demo case is in the main/ directory

Motan server

We use Weibo-Mesh to support a PHP Server, Weibo-Mesh is a local agent writen in Golang. But not only a agent, Wei-Mesh take the ability as service governance. There is an example at motan-example

As a CGI agent to php-fpm

  cgi-mesh-example-helloworld:
    path: com.weibo.motan.HelloWorldService
    export: "motan2:9991"
    provider: cgi
    CGI_HOST: 10.211.55.3
    CGI_PORT: 9000
    CGI_REQUEST_METHOD: GET
    CGI_SCRIPT_FILENAME: /motan-examples/php-server/index.php
    CGI_DOCUMENT_ROOT: /motan-examples/php-server
    basicRefer: mesh-server-basicService

As a HTTP agent to any HTTP Server

  http-mesh-example-helloworld:
    path: com.weibo.motan.HelloWorldService
    export: "motan2:9990"
    provider: http
    HTTP_REQUEST_METHOD: GET
    HTTP_URL: http://10.211.55.3:9900/http_server
    basicRefer: mesh-server-basicService

Motan Client

Here is a simple example about Motan Client, it will call a remote service provider by Weibo-Mesh Testhelper, you can find more example in the phpt tests, you can just run ./run.sh to find more.

$app_name = 'search';
$service = 'com.weibo.HelloMTService';
$group = 'motan-demo-rpc';
$remote_method = 'HelloW';
$params = ['idevz'=>'for weibo-mesh'];
$cx = new Motan\MClient( $app_name );
$request = new \Motan\Request($service, $remote_method, $params);
$request->setGroup($group);
try{
    $res = $cx->doCall($request);
} catch(Exception $e) {
    var_dump($e->getMessage());
}

Contributors

License

Motan is released under the Apache License 2.0.

主要指标

概览
名称与所有者weibocom/motan-php
主编程语言PHP
编程语言PHP (语言数: 1)
平台
许可证
所有者活动
创建于2017-10-30 06:09:49
推送于2024-11-01 02:43:48
最后一次提交2024-11-01 10:31:08
发布数18
最新版本名称v1.1.10 (发布于 )
第一版名称v1.0-Beta (发布于 )
用户参与
星数83
关注者数16
派生数30
提交数168
已启用问题?
问题数9
打开的问题数5
拉请求数37
打开的拉请求数0
关闭的拉请求数5
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?