zoukankan      html  css  js  c++  java
  • golang roadrunner中文文档(五)集成到其他服务 docker

    2021年6月8日13:29:33

    golang roadrunner中文文档(一)基础介绍

    golang roadrunner中文文档(二)PHP Workers

    golang roadrunner中文文档(三)HTTPS 和 HTTP/2

    golang roadrunner中文文档(四)app服务器

    golang roadrunner中文文档(五)集成到其他服务 docker

    从 v1.0 迁移到 v2.0

    从 RoadRunner v1 迁移集成。到 v2。按照以下步骤操作。

    更新配置

    RoadRunner 的第二个版本为其所有插件使用单个工人工厂。这意味着您必须在配置中包含一个新部分server,该部分负责创建工作线程。限制服务不再作为单独的实体呈现,而是作为特定服务配置的一部分。

    rpc:
      listen: tcp://127.0.0.1:6001
    
    server:
      command: "php tests/psr-worker-bench.php"
    
    http:
      address: "0.0.0.0:8080"
      pool:
        num_workers: 4

    配置参考中阅读更多内容

    不再担心回声

    RoadRunner 2.0 拦截所有输出到 STDOUT,这意味着您可以在不中断通信的情况下开始使用默认的 var_dump 和其他回显功能。耶!

    显式声明 PSR-15 依赖

    我们不再随 RoadRunner 一起提供默认的 PSR 实现,请确保自己包含一个您最喜欢的实现。例如:

    $ composer require nyholm/psr7

    更新worker代码

    RoadRunner 简化了工作线程的创建,使用静态create()方法自动配置您的工作线程:

    <?php
    
    use SpiralRoadRunner;
    
    include "vendor/autoload.php";
    
    $worker = RoadRunnerWorker::create();

    将 PSR-15 工厂传递给您的 PSR Worker:

    <?php
    
    use SpiralRoadRunner;
    use NyholmPsr7;
    
    include "vendor/autoload.php";
    
    $worker = RoadRunnerWorker::create();
    $psrFactory = new Psr7FactoryPsr17Factory();
    
    $worker = new RoadRunnerHttpPSR7Worker($worker, $psrFactory, $psrFactory, $psrFactory);

    RoadRunner 2统一所有worker使用类似的命名,acceptRequest改为waitRequest

    while ($req = $worker->waitRequest()) {
        try {
            $rsp = new Psr7Response();
            $rsp->getBody()->write('Hello world!');
    
            $worker->respond($rsp);
        } catch (Throwable $e) {
            $worker->getWorker()->error((string)$e);
        }
    }

    更新 RPC

    要创建 RPC 客户端,请使用新的 Goridge API:

    $rpc = SpiralGoridgeRPCRPC::create('tcp://127.0.0.1:6001');

    Ports and Containers

    默认情况下,嵌入式 RPC 服务器将仅侦听 localhost 连接。为了从外部控制 RR,您必须:

    • 从容器中公开 6001 端口。
    • 配置 rr 监听 0.0.0.0
    rpc:
      listen: tcp://:6001

    请记住,TCP 的通信比 Unix 套接字慢。

     

    Docker 镜像

    以下 Docker 镜像可用。

    注意,这个 docker 镜像目前可用于 RoadRunner v1.*。

    存储库地位
    https://github.com/n1215/roadrunner-docker-skeleton V1 最新稳定版本 执照 






    QQ群 247823727 博客文件如果不能下载请进群下载
    如果公司项目有技术瓶颈问题,如有需要,请联系我,提供技术服务 QQ: 903464207
  • 相关阅读:
    XJTUOJ13 (数论+FFT)
    ZOJ3956 ZJU2017校赛(dp)
    ZOJ3953 ZJU2017校赛(贪心)
    2014ACM/ICPC亚洲区西安站现场赛 F color(二项式反演)
    LOJ10129
    loj 10127最大数
    noip 选择客栈
    LOJ10121 与众不同
    CQOI 2006 简单题
    校门外的树
  • 原文地址:https://www.cnblogs.com/zx-admin/p/14862470.html
Copyright © 2011-2022 走看看