定制 crayoon/hyperf-grpc 二次开发

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

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

crayoon/hyperf-grpc

Composer 安装命令:

composer require crayoon/hyperf-grpc

包简介

hyperf grpc extend

README 文档

README

Hyperf Grpc 服务插件,协助完成grpc服务注册、服务链路追踪、服务健康、服务反射等

使用教程 https://learnku.com/articles/75681 如果有帮助到您的话,还请给个星哦

请先阅读hyperf文档grpc服务一节 https://hyperf.wiki/3.0/#/zh-cn/grpc

Update

[2.x]

  • 服务处理重写,支持GRPC全模式(一元模式、客户端流模式、服务端流模式、双向流模式)

[1.x]

  • 重构服务反射,提升速度
  • TracerDriver 默认配置调整为Noop类型
  • 服务注册优化异常时跳过
  • 增加支持 Grpc Streaming
  • 增积支持 GrpcHealth Watch Streaming模式

快速开始

引入

composer require crayoon/hyperf-grpc dev-2.0-alpha

生成配置文件

php bin/hyperf.php vendor:publish crayoon/hyperf-grpc

配置

修改 config/autoload/annotations.php

return [
    'scan' => [
        'paths' => [
            BASE_PATH . '/app',
        ],
        'ignore_annotations' => [
            'mixin',
        ],
        'class_map' => [
            \Google\Protobuf\Internal\DescriptorPool::class => BASE_PATH.'/vendor/crayoon/hyperf-grpc/class_map/Protobuf/DescriptorPool.php'
        ]
    ]
];

修改 config/autoload/server.php

    'servers' => [
        [
            'name' => 'grpc',
            'type' => Server::SERVER_BASE,
            'host' => '0.0.0.0',
            'port' => 9501,
            'sock_type' => SWOOLE_SOCK_TCP,
            'callbacks' => [
                Event::ON_RECEIVE => [\Crayoon\HyperfGrpc\Server\StreamServer::class, 'onReceive']
            ],
        ],
        ...
    ],

流模式使用

// config/routes.php
// 路由使用助手类注册
GrpcHelper::RegisterRoutes(function () {
    // 在此处添加路由
    Router::addGroup('/goods.v1.Goods', function () {
        Router::post('/info', [\App\Controller\Grpc\GoodsController::class, "info"]);
        ...
    });
    ...
}, 'grpc', [], true);

可以参考 https://github.com/crayxn/grpc-stream-demo

crayoon/hyperf-grpc 适用场景与选型建议

crayoon/hyperf-grpc 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 4.03k 次下载、GitHub Stars 达 25, 最近一次更新时间为 2023 年 03 月 05 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「php」 「gRPC」 「hyperf」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 crayoon/hyperf-grpc 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 crayoon/hyperf-grpc 我们能提供哪些服务?
定制开发 / 二次开发

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

BUG 修复 & 性能优化

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

项目外包 & 长期维护

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

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

统计信息

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

GitHub 信息

  • Stars: 25
  • Watchers: 1
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2023-03-05