定制 buerholiday/bus 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

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 我们能提供哪些服务?
定制开发 / 二次开发

基于 buerholiday/bus 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 9
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: Unknown
  • 更新时间: 2021-01-29