定制 spiral/app-grpc 二次开发

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

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

spiral/app-grpc

Composer 安装命令:

composer create-project spiral/app-grpc

包简介

Spiral Skeleton GRPC Application

README 文档

README

Warning

The repository is deprecated in favor of spiral/app.

Details

Spiral Framework

Spiral GRPC Application Skeleton Latest Stable Version

Spiral Framework is a High-Performance PHP/Go Full-Stack framework and group of over sixty PSR-compatible components. The Framework execution model based on a hybrid runtime where some services (GRPC, Queue, WebSockets, etc.) handled by Application Server RoadRunner and the PHP code of your application stays in memory permanently (anti-memory leak tools included).

App Skeleton (CLI, GRPC) | Documentation | Twitter | CHANGELOG | Contributing


Server Requirements

Make sure that your server is configured with following PHP version and extensions:

  • PHP 8.0+, 64bit
  • mb-string extension
  • PDO Extension with desired database drivers
  • Install protobuf-ext to gain higher performance.

Application Bundle

Application bundle includes the following components:

  • GRPC Server server based on RoadRunner
  • Console commands via Symfony/Console
  • Queue support for AMQP, Beanstalk, Amazon SQS, in-Memory
  • DBAL and migrations support
  • Monolog, Dotenv
  • Prometheus metrics
  • Cycle DataMapper ORM

Installation

composer create-project spiral/app-grpc

Application server will be downloaded automatically (php-curl and php-zip required).

Once the application is installed you can ensure that it was configured properly by executing:

$ php ./app.php configure

Running GRPC Server

In order to run GRPC server you must specify location of server key and certificate in .rr.yaml file:

grpc:
    listen: "tcp://0.0.0.0:50051"
    proto:
        - "proto/service.proto"
    tls:
        key: "app.key"
        cert: "app.crt"
    pool:
        num_workers: 2
        supervisor:
            max_worker_memory: 100

To issue local certificate:

$ openssl req -newkey rsa:2048 -nodes -keyout app.key -x509 -days 365 -out app.crt

To start application server execute:

$ ./rr serve

On Windows:

$ rr.exe serve

You can test your endpoints using any GRPC client. For example using grpcui:

$ grpcui -insecure -import-path ./proto/ -proto service.proto localhost:50051

Make sure to use -insecure option while using a self-signed certificate.

Generating Services

In order to compile protobuf declarations into service code make sure to install:

To update or generate service code for your application run:

$ php ./app.php grpc:generate

Generated code will be available in app/src/Service. Implemented service will be automatically registered in your application.

License:

MIT License (MIT). Please see LICENSE for more information. Maintained by Spiral Scout.

spiral/app-grpc 适用场景与选型建议

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

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

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

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

BUG 修复 & 性能优化

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

项目外包 & 长期维护

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

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

统计信息

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

GitHub 信息

  • Stars: 35
  • Watchers: 5
  • Forks: 3
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2019-05-24