亚洲精品成人_精品成人一区_999视频在线播放_免费黄色在线_亚洲成人久久久_久久www免费视频

RPC 組件配置及使用

配置

主配置

<?php
// 構(gòu)造方法內(nèi)用戶可傳入 節(jié)點(diǎn)管理器實現(xiàn)類(實現(xiàn) `NodeManagerInterface` 接口的類) 默認(rèn)為 `MemoryManager`
$config = new \EasySwoole\Rpc\Config();

// 設(shè)置服務(wù)名稱
$config->setServerName('User'); // 默認(rèn) EasySwoole

// 設(shè)置節(jié)點(diǎn)id
$config->setNodeId(\EasySwoole\Utility\Random::character(10)); // 可忽略 構(gòu)造函數(shù)已經(jīng)設(shè)置

// 【必須設(shè)置】設(shè)置異常處理器,對 Service-Worker 和 AssistWorker 的異常進(jìn)行處理,防止未捕獲導(dǎo)致進(jìn)程退出
$config->setOnException(function (\Throwable $throwable) {

});

服務(wù)端

<?php
/** @var \EasySwoole\Rpc\Config $config */
$serverConfig = $config->getServer();

// 【必須設(shè)置】設(shè)置本機(jī) ip 外網(wǎng) 或者 內(nèi)網(wǎng) ip 向其他服務(wù)端同步本機(jī)信息
$serverConfig->setServerIp('127.0.0.1');

// 設(shè)置工作進(jìn)程數(shù)量
$serverConfig->setWorkerNum(4);

// 設(shè)置監(jiān)聽地址及端口 端口可被復(fù)用
$serverConfig->setListenAddress('0.0.0.0');
$serverConfig->setListenPort('9600');

// 設(shè)置服務(wù)端最大接受包大小
$serverConfig->setMaxPackageSize(1024 * 1024 * 2);

// 設(shè)置接收客戶端數(shù)據(jù)時間
$serverConfig->setNetworkReadTimeout(3);

廣播配置

<?php
 /** @var \EasySwoole\Rpc\Config $config */
$assistConfig = $config->getAssist();

// 服務(wù)定時自刷新到節(jié)點(diǎn)管理器
$assistConfig->setAliveInterval(5000);

// 廣播進(jìn)程設(shè)置
$serviceFinderConfig = $assistConfig->getUdpServiceFinder();

// 監(jiān)聽地址和端口
$serviceFinderConfig->setEnableListen(true);
$serviceFinderConfig->setListenAddress('0.0.0.0');
$serviceFinderConfig->setListenPort(9600);

// 設(shè)置廣播地址
$serviceFinderConfig->setEnableBroadcast(true);
// 255.255.255.255 udp 廣播地址 
$serviceFinderConfig->setBroadcastAddress(['127.0.0.1:9600', '127.0.0.1:9601','255.255.255.255:9600']);
$serviceFinderConfig->setBroadcastInterval(5000); // 5s 廣播一次

// 設(shè)置廣播秘鑰 
$serviceFinderConfig->setEncryptKey('EasySwoole');

客戶端配置

<?php
// 如果只是暴露 rpc 服務(wù) 不進(jìn)行調(diào)用別的rpc服務(wù) 可不用設(shè)置
/** @var \EasySwoole\Rpc\Config $config */
$clientConfig = $config->getClient();

// 傳輸最大數(shù)據(jù)包大小
$clientConfig->setMaxPackageSize(1024 * 1024 * 2);

// 設(shè)置全局回調(diào)函數(shù)  成功及失敗 $response->getStatus !== 0 全部為失敗
$clientConfig->setOnGlobalSuccess(function (\EasySwoole\Rpc\Protocol\Response $response){

});
$clientConfig->setOnGlobalFail(function (\EasySwoole\Rpc\Protocol\Response $response){

});

注冊服務(wù)

注冊 rpc 服務(wù)

EasySwooleEvent 事件 mainServerCreate 注冊

<?php

###### 配置服務(wù)端 ######
// 構(gòu)造方法內(nèi)用戶可傳入 節(jié)點(diǎn)管理器實現(xiàn)類(實現(xiàn) `NodeManagerInterface` 接口的類) 默認(rèn)為 `MemoryManager`
$config = new \EasySwoole\Rpc\Config();
// 設(shè)置服務(wù)名稱
$config->setServerName('User'); // 默認(rèn) EasySwoole
// 設(shè)置節(jié)點(diǎn)id,可忽略,構(gòu)造函數(shù)已經(jīng)設(shè)置
$config->setNodeId(\EasySwoole\Utility\Random::character(10)); // 

// 【必須設(shè)置】設(shè)置異常處理器,對 Service-Worker 和 AssistWorker 的異常進(jìn)行處理,防止未捕獲導(dǎo)致進(jìn)程退出
$config->setOnException(function (\Throwable $throwable) {

});

$serverConfig = $config->getServer();

// 【必須設(shè)置】設(shè)置本機(jī)ip
$serverConfig->setServerIp('127.0.0.1');

/** 
 * 注冊服務(wù) 
 */
$rpc = new \EasySwoole\Rpc\Rpc($config);

// 創(chuàng)建 ServiceOne 服務(wù) 
$serviceOne = new \EasySwoole\Rpc\Tests\Service\ServiceOne();
// 在 ServiceOne 服務(wù)中添加 ModuleOne 模塊
$serviceOne->addModule(new \EasySwoole\Rpc\Tests\Service\ModuleOne());
// 在 ServiceOne 服務(wù)中添加 ModuleTwo 模塊
$serviceOne->addModule(new \EasySwoole\Rpc\Tests\Service\ModuleTwo());

// 創(chuàng)建 ServiceTwo 服務(wù) 
$serviceTwo = new \EasySwoole\Rpc\Tests\Service\ServiceTwo();
// 在 ServiceTwo 服務(wù)中添加 ModuleOne 模塊
$serviceTwo->addModule(new \EasySwoole\Rpc\Tests\Service\ModuleOne());
// 在 ServiceTwo 服務(wù)中添加 ModuleTwo 模塊
$serviceTwo->addModule(new \EasySwoole\Rpc\Tests\Service\ModuleTwo());

// 添加服務(wù)到服務(wù)管理器
$rpc->serviceManager()->addService($serviceOne);
$rpc->serviceManager()->addService($serviceTwo);

// 注冊服務(wù)
$http = \EasySwoole\EasySwoole\ServerManager::getInstance()->getSwooleServer();

$rpc->attachServer($http);

Redis 節(jié)點(diǎn)管理器實現(xiàn)類(實現(xiàn) NodeManagerInterface 接口即可),來完成 rpc 服務(wù)端的配置。下文將介紹使用默認(rèn)節(jié)點(diǎn)管理器(即 MemoryManager) 完成 rpc 服務(wù)端的配置、rpc 服務(wù)的注冊及服務(wù)調(diào)用。

節(jié)點(diǎn)管理器

<?php
/** 節(jié)點(diǎn)管理器 */

// 用戶在調(diào)用rpc過程中 當(dāng)發(fā)現(xiàn)節(jié)點(diǎn)不可用 可自行調(diào)用下線

// 構(gòu)造方法內(nèi)用戶可傳入節(jié)點(diǎn)管理器實現(xiàn)`NodeManagerInterface` 默認(rèn)`MemoryManager`
$config = new \EasySwoole\Rpc\Config();
$rpc = new \EasySwoole\Rpc\Rpc($config);

$nodeManager = $rpc->getConfig()->getNodeManager();

// 獲取服務(wù)的所有節(jié)點(diǎn)
$nodeManager->getNodes('serviceOne', 1);

// 隨機(jī)獲取服務(wù)的一個節(jié)點(diǎn)
$nodeManager->getNode('serviceOne', 1);

// 下線一個服務(wù)節(jié)點(diǎn)
$nodeManager->offline(new \EasySwoole\Rpc\Server\ServiceNode());

// 刷新一個服務(wù)節(jié)點(diǎn)
$nodeManager->alive(new \EasySwoole\Rpc\Server\ServiceNode());

// 宕機(jī)一個服務(wù)節(jié)點(diǎn)
$nodeManager->failDown(new \EasySwoole\Rpc\Server\ServiceNode());
亚洲精品成人_精品成人一区_999视频在线播放_免费黄色在线_亚洲成人久久久_久久www免费视频
  • <kbd id="eqi2k"><code id="eqi2k"></code></kbd><cite id="eqi2k"><tbody id="eqi2k"></tbody></cite>
    亚洲一区二区网站| 国产精品福利视频| 欧美高清性xxxxhd| 99精品久久| 亚洲欧美日韩专区| 高清不卡日本v二区在线| 久久久久久国产精品免费免费| 在线欧美一区| 日韩精品无码一区二区三区| 欧美日韩亚洲一区| 欧美日韩在线不卡一区| 91精品国产91久久久久青草| 欧美三级不卡| 亚洲一区二区三区精品视频 | 亚洲一区影院| 亚洲精品永久www嫩草| 欧美天堂亚洲电影院在线观看| 国产女主播一区二区| 久久久777| 日韩国产高清一区| 激情偷拍久久| 亚洲欧美亚洲| 一区二区日本伦理| 日韩欧美亚洲在线| 欧美激情专区| 精品视频高清无人区区二区三区| 在线观看成人av| 欧美日韩一区二| 精品999在线观看| 亚洲特级毛片| 欧美1区视频| 欧美成ee人免费视频| 久久综合网络一区二区| 国产精品嫩草99av在线| 日韩伦理一区二区三区av在线| 亚洲黄色一区| 伊人影院久久| 欧美久久久久久一卡四| 久久99久久精品国产| 久久99精品久久久久久水蜜桃| 国产精品二区三区| 九九九九久久久久| 六十路精品视频| 欧美18视频| 久久成人资源| 久久精品三级| 国产精品日韩一区二区| 国产一区二区三区高清| 日韩午夜免费| 国产精品免费一区二区三区观看| 国产精品久久国产愉拍 | 免费观看成人高| 亚洲欧洲另类| 国产午夜精品在线| 久久婷婷影院| 国内精品久久久久久久影视麻豆| 国产综合色产| 国产精品老牛| 999在线观看免费大全电视剧| 国产一区日韩一区| 色中色综合成人| 国产精品国产三级国产专区53| 在线播放亚洲| 欧美va亚洲va日韩∨a综合色| 国产精品一区二区欧美| 麻豆精品传媒视频| 国产精品 日韩| 国产精品视频久久一区| 狠狠爱www人成狠狠爱综合网| 亚洲毛片一区| 亚洲日本无吗高清不卡| 欧美国产专区| 国产三级精品在线不卡| 国产精品一国产精品最新章节| 欧美日本国产精品| 久草一区二区| 国产一区二区三区高清| 91嫩草在线| 日韩一区二区三区高清| 在线精品亚洲| 欧美日本国产| **亚洲第一综合导航网站 | 伊人久久大香线蕉精品| 亚洲精品美女| 国产一区不卡在线观看| 99在线观看视频| 久久精品国产第一区二区三区最新章节 | 国产一区视频观看| 91九色蝌蚪成人| 久久人人精品| 国产福利不卡| 久久99精品久久久久久三级| 午夜欧美精品| www.一区二区三区| www.av一区视频| 国产精品swag| 国产一区在线免费| 久久一区二区三区欧美亚洲| 精品视频一区二区| 伊人久久婷婷色综合98网| 亚洲国产精品日韩| 久久久久资源| 成人资源av| 久久久久免费网| 一区视频在线看| 成人区精品一区二区| 美女精品在线| 在线码字幕一区| 欧美人成在线| 雨宫琴音一区二区在线| 久久国产精品一区二区三区四区 | 欧美日韩亚洲国产精品| 亚洲国产日韩欧美| 欧美精品二区三区四区免费看视频| 亚洲精选成人| 乱人伦精品视频在线观看| 粉嫩高清一区二区三区精品视频| 国产精品大片免费观看| 国产日韩欧美三级| 中文字幕日韩精品久久| 99在线精品视频在线观看| 亚欧洲精品在线视频免费观看| 久久久久国产精品一区三寸| 狠狠色狠狠色综合人人| 国产三区精品| 好吊色欧美一区二区三区| 国产亚洲精品v| 欧美精品首页| 久久精品人人| 欧美日韩电影一区二区三区| 欧美福利一区| 久久久久在线| 亚洲精品日韩在线观看| 91久久极品少妇xxxxⅹ软件| 亚洲一二三区精品| 欧美日韩一区在线观看视频| 国产精品毛片一区视频| 免费在线日韩av| 日韩免费毛片| 一区二区三区国产盗摄| 欧美1区视频| 亚洲国产欧美不卡在线观看| 99视频精品免费观看| 中文字幕久久综合| 丝袜足脚交91精品| 国产精品久久久久久久久久妞妞 | 91原创国产| 亚洲欧美日韩精品在线| 在线亚洲精品| 欧美人xxxxx| 久久综合九色综合久99| 国内视频一区二区| 精品无码久久久久久久动漫| 国产精品手机视频| 国产麻豆日韩| 国内精品久久久久久久果冻传媒| 国产精品国产精品| 久久精品一二三区| 久久久一本精品99久久精品66 | 欧美激情第二页| 国产成人av一区二区三区| 99在线免费观看视频| 国产精品一区二区欧美| 久久艹中文字幕| 欧美一区2区三区4区公司二百| 欧美日韩三区四区| 亚洲午夜精品福利| 国产一区久久| 日韩av在线一区二区三区| 久久资源在线| 亚洲黄色视屏| 亚洲成人18| 国产精品久久久久久久久婷婷| 亚洲精选成人| 欧美在线三区| 在线精品福利| 在线观看欧美亚洲| 老司机精品福利在线观看| 久久久久久九九九九| 91久久伊人青青碰碰婷婷| 精品不卡在线| 亚洲mv在线看| 亚洲高清视频一区二区| 久久精品男女| 国产日韩视频| 日韩一级免费| 欧美午夜a级限制福利片| 亚洲片区在线| 岛国一区二区三区高清视频| 久久综合九九| 欧美日韩一区综合| 久久久精品国产一区二区三区| 亚洲激情自拍| 国产另类自拍| 中文字幕在线亚洲精品| 国产亚洲福利| 一本久道久久综合婷婷鲸鱼| 99re热精品| 成人资源av| 亚洲国产日韩欧美|