RPC服务配置 ¶
服务端配置 ¶
服务配置文件为 /config/shiyun/rpc_server.php
,内容如下:
php
<?php
return [
//服务端配置
'rpc_server' => [
//worker进程数
'processes' => 1,
//通信协议
'protocol' => '\shiyunWorker\protocols\JsonNL',
//地址
'host' => '0.0.0.0',
//端口
'port' => 2015,
'socket' => '',
//服务进程名
'worker_name' => 'jsonRpcServer',
//日志路径
'log_file' => '/www/runtime/workerman/log.log',
//服务
'service' => [
'User' => \app\test\logic\User::class
]
],
// 统计数据的协议地址
'statistic_process' => [
//统计数据的协议地址
'socket' => 'udp://127.0.0.1:9200',
]
];
实例化new \shiyunWorker\process\JsonRpcServer();
对象时可以传入自定义的配置文件绝对路径,或者直接传入一个数组。
php
#!/usr/bin/env php
<?php
require_once __DIR__.'/vendor/autoload.php';
// 应用初始化
/**
* 配置方式:默认读取
*/
$worker = new \shiyunWorker\process\JsonRpcServer();
$worker->start();
/**
* 配置方式:传入绝对路径
*/
$worker = new \shiyunWorker\process\JsonRpcServer("/www/xxx/config.php");
$worker->start();
/**
* 配置方式:传入数组
*/
$config = [
'rpc_server' => [
....
],
'statistic_process' => [
....
]
];
$worker = new \shiyunWorker\process\JsonRpcServer($config);
$worker->start();
客户端配置 ¶
客户端配置文件为 /config/shiyun/rpc_client.php
,内容如下:
php
<?php
//客户端配置
return [
//驱动方式
'type' => 'workerman',
//服务端连接池
'rpc_server_address' => [
'tcp://127.0.0.1:2015'
],
//重连次数
'reconnect_count' => 1
];
$user_client = \shiyunWorker\rpc\JsonRpcClient::instance('User',$config);
$config
可以传入自定义的配置文件绝对路径,或者直接传入一个数组。
一、 ¶
php
<?php
/**
* 配置方式:传入绝对路径
*/
$user_client = \shiyunWorker\rpc\JsonRpcClient::instance('User',"/www/xxx/config.php");
/**
* 配置方式:传入数组
*/
$config = [
...
];
$user_client = \shiyunWorker\rpc\JsonRpcClient::instance('User', $config);