buerholiday/bus
Composer 安装命令:
composer require buerholiday/bus
包简介
buer bus sdk
README 文档
README
<br/>
调用方使用
1. composer包引入
composer require xxxxx/bus:~0.0.1
2. 在 lumen/laravel 框架中使用
注册服务提供者
在 bootstrap 文件夹下的 app.php 文件中添加以下代码
$app->register(\WptBus\BusProvider::class);
$app->configure('bus');
配置文件
1、 在 config 文件夹下加入 bus.php 文件
2、 在 bus.php 中覆盖默认配置(默认只要填写远程地址,更多配置查看SDK中Config目录),举例如下(推荐使用env):
return [
'order' => [ // 服务名
'http' => [ // http配置
'servers' => [ // 服务地址,默认一个,有主备切换需求可以配置多个
env('MICRO_GATEWAY')
]
]
]
];
3、在.env添加MICRO_GATEWAY地址
# 测试指定环境
MICRO_GATEWAY=http://xxxxxx:8080/
# 测试多环境
MICRO_GATEWAY=http://xxxxxx.com/
# 灰度环境 指定host xxxx xxxxx.com
MICRO_GATEWAY=http://xxxxxx.com/
# 线上环境
MICRO_GATEWAY=http://xxxxxxxx.com/
调用示例
use BuerBus\Facades\Bus;
$result = Bus::order()->test($param);
3. 其它项目使用(建议将Bus封装成单例模式)
use \BuerBus\Bus;
$config = [
'order' => [ // 服务名
'http' => [ // http配置
'servers' => [
'http://xxxxxxxx:8080',
//'http://xxxxxxxx:8080',
]
]
]
];
$bus = new Bus($config);
$result = $bus->order()->test($param);
4. 项目设置http配置和头部信息
// 同时设置http配置和头部信息已经重试
$config = ["readTimeout" => 3000, "connectTimeout" => 1000];
$header = ["unique_id" => "my uniqueId"];
$retry = 1;
$result = Bus::user()->base->setHttpConfig($config, $header, $retry)->login(1, []);
// 设置uniqueId
$result = Bus::user()->base->setUniqueId("my uniqueId")->login(1, []);
// 设置超时
$result = Bus::user()->base->setTimeout(3000, 1000)->login(1, []);
// 设置重试
$result = Bus::user()->base->setRetryTimes(1)->login(1, []);
<br/>
服务方使用
1. 生成服务项目
php build -s test
2. 在对应项目的Application类编写请求
class Application extends BaseService
{
public function test($param)
{
// 参数验证
$error = $this->validate($params, ['userinfoId' => 'required']);
if ($error) {
return $error;
}
// 请求服务
$ret = $this->httpPost('route/test', $params);
// 处理结果
$this->dealResultData($ret, function ($data) {
$data['newField'] = 'value';
return $data;
});
// 自定义日志
Log::error($this->serviceName, "请求记录", ['ret' => $ret]);
return $ret;
}
}
3. 生成的对应配置如下
return [
'http' => [
'name' => 'order',
'servers' => [],
'balance' => 'mainSpare', // 主备
'connectTimeout' => 2000, // 连接超时ms
'readTimeout' => 2000, // 读超时ms
'debug' => true, // 请求日志记录返回结果
'token' => "", // token
'checkSign' => true, // 检查签名
'signKey' => "wpt", // 签名key
]
];
4. 查看日志目录
- http日志:micro-sdk/transport-http-{serviceName}
- SDK内自定义日志:micro-sdk/bus-sdk-{serviceName}
5. 意见
- 若服务内模块较多,将application类作为服务入口,根据属性生成模块对应的类,具体参照订单服务
buerholiday/bus 适用场景与选型建议
buerholiday/bus 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 9 次下载、GitHub Stars 达 0, 最近一次更新时间为 2021 年 01 月 29 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 buerholiday/bus 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 buerholiday/bus 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 9
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: Unknown
- 更新时间: 2021-01-29