並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 43件

新着順 人気順

Server-Starterの検索結果1 - 40 件 / 43件

  • Server::Starterから学ぶhot deployの仕組み - $shibayu36->blog;

    以前http://tech.naver.jp/blog/?p=1369の記事を読んだのだけれど、それまでにprocessの知識が無かったりして、まったく理解できませんでした。そこでWorking with UNIX ProcessesやServer::Starterの中身を呼んでようやくhot deployの仕組みを理解できた(気になっている)ので、Server::Starterの実装を追いながら、それをまとめてみます。 hot deployとは hot deployとは「再起動の時にリクエストの処理を続けながら、変更の内容を反映するための手段」です。 通常serverをrestartさせるときは、stop -> startの流れになると思いますが、この場合stopしてから、start出来るまでの期間にリクエストを処理できない期間が発生します。その期間なしにdeployする仕組みがhot

      Server::Starterから学ぶhot deployの仕組み - $shibayu36->blog;
    • Server::Starter を使って複数の Fluentd で1つのポートを待ち受ける : sonots:blog

        Server::Starter を使って複数の Fluentd で1つのポートを待ち受ける : sonots:blog
      • 「Server::Starterに対応するとはどういうことか」の補足 : sonots:blog

          「Server::Starterに対応するとはどういうことか」の補足 : sonots:blog
        • Server::Starter から簡単に Java プロセスを起動できるようになった - tokuhirom's blog

          JVM には inetd から起動するときのために、file descriptor 0 をソケットとして開く機能がついている。Jetty 等もこの機能に対応しているので、簡単に利用できる。 file descriptor を 0 に固定出来る機能が Server::Starter にあればよかろうということで、以下のような指定で起動できるように実装した。 $ start_server --port=20000=0 java EchoServer この機能により、Java も LL と同様な形態でアプリケーションを運用することが可能となる。 Java では昔から ClassLoader 機構を利用することによりホットデプロイを行うことが可能だが、リソースの解放が漏れるなど開発時の難しさが指摘されている。 Server::Starter 方式では JVM のプロセスごと死ぬので、綺麗な状態で都

          • 普通のデーモンを 1) Server::Starterでホットデプロイ+ 2) slow-restart対応にする - Qiita

            序章 最近筆者があるシステム上の非同期ワーカーに対して作業していたところ、新しいコードをデプロイしてこのプロセス達を再起動すると全てのワーカーが同じタイミングで停止→再起動してしまうのでアラートがちらほら流れてきました。クリティカルなものではないのですが、アラートはうざいです。さらに開発機では何回か失敗もしたのですが、その失敗のせいでワーカーが起動に失敗することもありました。その間は当然ワーカー機能は止まったままです。 アラートはできればみたくないのです。さらに万が一新しいコードが起動に失敗した場合でも前の世代が動いていればこのあたりの心配をする必要がなくなります自分がそのあたりに手を入れるタイミングでServer::Starterをかまして対処してしまうことにしました。 元のワーカー まず前提として、このワーカー達は以下のような形で「実行するワーカーのコマンド名(実際はクラス名)」と「い

              普通のデーモンを 1) Server::Starterでホットデプロイ+ 2) slow-restart対応にする - Qiita
            • Webアプリケーションの無停止稼働 - Server::Starter, Parallel::Prefork, Starlet を使って (SoozyConference 7 発表資料)

              The blog or and best that is extremely useful to keep I can share the ideas of the future as this is really what I was looking for, I am very comfortable and pleased to come here. Thank you very much. tanki online | 2048 game | tanki online game ReplyDelete

              • h2o と server_starter で graceful restart with Docker - blog.nomadscafe.jp

                h2o はserver_starter経由のgraceful restartをサポートしているので試してみた。ついでにdockerで動かしてみた。 h2o/h2o 実際にwrkでベンチマークしながらコンテナにHUPシグナルを送り、graceful restartを行ってみたのが次の動画 左上がh2oをdocker経由で起動しているウィンドウ、HUPを受けてh2oのプロセスを入れ替えている様子がわかります。。左下はwrkの実行、右側はコンテナにHUPを送ってます。 HUPシグナルはdocker killを使って送ります。 $ docker kill --signal="HUP" $(docker ps |grep kazeburo/h2o|awk '{print $1}') wrkの結果はこんな感じ。エラーは出ていません vagrant@vagrant-ubuntu-trusty-64:~/

                • Server::Starterの0.17以下のバージョンでは特定の条件下でHUPを送ってもプロセスが入れ替わらないことがあった - 平常運転

                  要約 Server::Starterの0.17以下のバージョン(とStarlet)によって動かしているときに無限ループ等でいつまでも処理の終わらないリクエストが発生すると、アプリケーションプロセスの再起動のためのHUPシグナルをServer::Starterが正しく処理してくれないことがある。 この挙動によってアプリケーションプロセスが古いリビジョンで動かしてしまうなどの問題があって困っていたんだけど、気付いたら0.19でこの挙動が改善していた。 前提 perlでdaemontoolsを用いてアプリケーションプロセスを動かし、かつホットデプロイを実現しようと思ったときの有力な選択肢がServer::Starterによるstart_serverとStarletの組み合わせだと思う。start_serverとStarletは以下のような挙動を示す。 start_serverはHUPを受け取った

                    Server::Starterの0.17以下のバージョンでは特定の条件下でHUPを送ってもプロセスが入れ替わらないことがあった - 平常運転
                  • Server::Starterに対応するとはどういうことか - limitusus’s diary

                    StarletやStarmanと組み合わせてよく使われているServer::Starterですが、普段気にしないような部分を読む機会があったのでメモ。 Server::Starterは --port (TCP) や --path (Unix Domain Socket) を渡すとこれでlisten(2)して起動するworkerに引き渡してくれる。 これはfork(2)とexec(2)によってファイルディスクリプタを引き継ぐことにより実現されているが、ファイルディスクリプタそのものをどのように引き渡しているのか、という問題。 exec(2)により実行バイナリは差し換わってしまうので、プログラム中の変数により引き継ぐことはできない。 Server::Starterではこれを環境変数SERVER_STARTER_PORTにより実現している。 おおよそ以下のような感じ。 FD = integer

                      Server::Starterに対応するとはどういうことか - limitusus’s diary
                    • ネットワークサーバじゃないプロセスでもServer::Starter経由で起動するといいことがあるかもという話 - 酒日記 はてな支店

                      具体的には Redis の subscriber なんですが、pub/sub の pub 側が publish し続けている状態で subscriber を再起動すると、落ちてから起動までの間に来たメッセージを取りこぼす可能性があります。 pub 側を一時停止すればいいのですが、fluent-plugin-redis_publish で fluentd から publish しているので、これを止めるのはあまりやりたくない。 複数の subscriber が同時起動して処理に問題が出ないように作られていることが前提ですが、新しい subscriber を起動したら古いのを殺すようにすればいいよね? → それ Server::Starter でできるよ、という流れ。 $ start_server -- perl -e '$SIG{TERM}=sub{ warn "[$$] SIGTERM";

                        ネットワークサーバじゃないプロセスでもServer::Starter経由で起動するといいことがあるかもという話 - 酒日記 はてな支店
                      • Server::Starter を Java で利用する方法。または、System.inheritedChannel() の挙動について - tokuhirom's blog

                        Server::Starter を Java でも使いたいなあ、そうすれば LL の場合と同じような運用ができるなあ、という要望をたまに稀によく聞きます。 そんなときに決まって返される答えは、fdopen できないから無理じゃないすかね。。 ということである。 SO_REUSEPORT しよう SO_REUSEPORT なら、java でもちょっとの工夫で使えるんじゃないの? っていう説が出てくる。 で、頑張れば jetty で SO_REUSEPORT 使っていい感じに実装できそうだな、ということはわかって、サンプルコードも書いてみた。 しかし、実装してから指摘されたのだが、弊社では CentOS 6 が標準となっており、CentOS 7 が来るのはいつになるのかさっぱりわからない。 つまり、とりあえずしばらくの間は実践で使える可能性がほぼないということだ。 とりあえず、出来たものは出来

                        • Server::Starter の --interval オプションは大切 - Pixel Pedals of Tomakomai

                          最近、Server::Starterを使い始めたのですが、いつでも簡単にサーバを再起動でき、とても便利で安心です。詳しい解説は、kazuhoさんの去年のAdvent Calendarのエントリがわかりやすいと思います。 さて、start_server コマンドには --interval ってオプションがあるのですが、このオプションが結構重要です。--helpから引用すると以下の通りです。 --interval=seconds minimum interval to respawn the server process (default: 1)Server::StarterがHUPシグナルを受け取った際、--interval の間にサーバがエラー終了しないと、サーバの立ち上げに成功したと見なして新しいサーバにディスパッチを開始してしまいます*1。よって、立ち上げに1秒以上時間がかかるサーバを

                            Server::Starter の --interval オプションは大切 - Pixel Pedals of Tomakomai
                          • 第24回 PSGI/Plack実践入門―Starman、Starlet、Twiggy、Plack::Middleware、Server::Starter(1) | gihyo.jp

                            Perl Hackers Hub 第24回PSGI/Plack実践入門―Starman、Starlet、Twiggy、Plack::Middleware、Server::Starter(1) 本連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはWEB+DB PRESS Vol.50~55まで「大規模Webサービスの裏側」を連載し、本連載でも第11回以来の2度目の登場となるkazeburoさんこと長野雅広さんで、テーマはPSGI/Plackです。 なお本稿のサンプルコードは、本誌サポートサイトから入手できます。 幅広く使われるようになったPSGI/Plack 本連載でPSGI(Perl Web Server Gatewary Interface)/Plackについて取り上げるのは2回目です。1回目は2010年2月に発売されたWEB+DB PRESS Vol.55に

                              第24回 PSGI/Plack実践入門―Starman、Starlet、Twiggy、Plack::Middleware、Server::Starter(1) | gihyo.jp
                            • qpsmtpd を Server::Starter 化するなど - unknownplace.org

                              Perl 製 SMTP サーバーとして qpsmtpd というものがあり、僕もいろいろなところで利用している。主な用途としてはメール連動の Web アプリケーションのメール機能の部分。実際のメール配送などでは使用してない。 フロントに qpsmtpd を置き、アプリで制御する宛先の場合のみ qpsmtpd からジョブキューに流したりする。 それ以外の通常のメールは queue/postfix プラグインなどを使用して裏側の postfix にまかせちゃう。というような使い方をしている。 qpsmtpd 自体は apache.org や perl.org の SMTP として採用されており、パフォーマンスに関しては問題ないのだが、プラグインを書き換えたり設定を変更したりした場合に再起動が必要になるところが、フロントに立てるサーバーとしては不安な部分であった。 なので前々から Server::

                              • Server::Starter 配下で動くサーバを Perl 以外で書く - 酒日記 はてな支店

                                Server::Starter の SYNOPSIS には、自分で Server::Starter 配下で実行するサーバを作る場合の例があります。 # in my_httpd use Server::Starter qw(server_ports); my $listen_sock = IO::Socket::INET->new( Proto => 'tcp', ); $listen_sock->fdopen((values %{server_ports()})[0], 'w') or die "failed to bind to listening socket:$!"; while (1) { if (my $conn = $listen_sock->accept) { ... } } ところでこのサーバは Perl でなければ書けないのか? というと、そんなことはないのですね。 Se

                                  Server::Starter 配下で動くサーバを Perl 以外で書く - 酒日記 はてな支店
                                • Kazuho@Cybozu Labs: Hot-deploying Plack applications using Server::Starter

                                  It's time to eat my own dog food. During YAPC::Asia 2009, I wrote a tiny module called Server::Starter, a superdaemon for hot-deploying TCP servers (see Writing Hot-deployable servers (introduction of Server::Starter) for the benefits of using the module).  On the other hand, I have been involved in developing the http servers in Plack since then. And time has come.  Having decided to use the two

                                  • Kazuho@Cybozu Labs: Writing Hot-deployable servers (introduction of Server::Starter)

                                    Yesterday at YAPC::Asia 2009, I did a LT introducing verious techniques to write hot-deployable servers, and introduced a perl module called Server::Starter that encapsulates the burden of developing support for hot-deployment within each TCP server program. The presentation slides are on Slideshare.

                                    • Server::Starter meets Java

                                      Server::Starter is a daemon that allows hot-deployment of server programs. It was originally designed for Perl web applications but can now also be used to run Java web apps by having the Java Virtual Machine inherit the listening socket from the parent Server::Starter process. This new capability allows easy upgrading of the JVM version and shutdown of old processes when new ones are launched, th

                                        Server::Starter meets Java
                                      • Goでstart_server (Server::Starter)とうまいことやる : D-7 <altijd in beweging>

                                        色々調べてたらgo でHTTPサーバーをgraceful restartする方法の記事にあたって、そのなかでシグナルを受け取るとリクエストを受け取ったらそれまでに受け付けたリクエストを処理してから停止するmannersというツールを見つけた。さらにゼロダウンタイムでサーバーを再起動するgoagainというツールも見つけたんだけど、これはサーバー内のコードをそれなりに変更しないといけないっぽくてうんざりしてしまった。 「っていうか普通にServer::Starterをかませるようにできればよくね?」と思ったので、go-server-starter-listenerを書いてみた!使い方はREADMEにあるとおり。このようなコードを書いておいてからstart_server --port XXX -- ./your-go-program って感じで動作させればServer::Starterが保持し

                                          Goでstart_server (Server::Starter)とうまいことやる : D-7 <altijd in beweging>
                                        • GitHub - lestrrat/go-server-starter: [MOVED] See github.com/lestrrat-go/server-starter

                                          You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                            GitHub - lestrrat/go-server-starter: [MOVED] See github.com/lestrrat-go/server-starter
                                          • Server::Starter + Starman で HUP 再起動が上手くいかないことがある - Craftworks Tech Blog - Branch

                                            現在、Server::Starter + Starman で運用している環境があるのですが、週に1回ほど古いワーカーが終了しないで残り続けるという現象が起こっています。 FCGI 起動の名残りで、毎時間 HUP を投げていたのですが、普段は問題なく starman プロセスが再起動していたのですが、たまに再起動が上手く行かずに、古いプロセスが残り、リクエストに応答できなくなるという状態です。 start_server の起動オプションは以下です。 start_server --port 8001 -- starman --listen :8001 --workers 4 app.psgi 現象が起こっている時の ps 結果 $ pgrep -f starman | xargs ps u USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMA

                                              Server::Starter + Starman で HUP 再起動が上手くいかないことがある - Craftworks Tech Blog - Branch
                                            • Server::Starter で Unicorn を起動する場合の Slow Restart : sonots:blog

                                                Server::Starter で Unicorn を起動する場合の Slow Restart : sonots:blog
                                              • HaskellでServer::Starterを使う - Qiita

                                                Server::Starter を Haskell で利用するためのライブラリを書きました。 warp で動かすWEBアプリでも、 start_server コマンドを使った hot-deploy が可能になります。とりあえず github にのみ上げました。 以下でサンプルプログラムまで含めてビルドできます。 $ git clone git@github.com:hiratara/hs-server-starter.git $ cd hs-server-starter/ $ stack build --flag hs-server-starter:example 使い方 https://github.com/hiratara/hs-server-starter/blob/master/app/server-starter-warp-example.hs を見てください。 Network.

                                                  HaskellでServer::Starterを使う - Qiita
                                                • GitHub - sonots/ruby-server-starter: a superdaemon for hot-deploying server programs (ruby port of p5-Server-Starter)

                                                  You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

                                                    GitHub - sonots/ruby-server-starter: a superdaemon for hot-deploying server programs (ruby port of p5-Server-Starter)
                                                  • released Server::Starter 0.21; no more external dependencies, easy to fat-pack

                                                    released Server::Starter 0.21; no more external dependencies, easy to fat-pack I am happy to announce the release of Server-Starter version 0.21. In the release I have removed dependencies to perl modules not in core (e.g. Proc::Wait3, List::MoreUtils, Scope::Guard). Without dependencies on XS modules it would now be easier to install the module on any system. The change also opens the possibility

                                                    • PSGI アプリを supervisord + Server::Starter で動作させる - Hatak::Techlog

                                                      PSGI で動作する Perl の Web アプリをデプロイする環境をどのように作ろうかと思って試してみたので、その手順をまとめてみます。 記事を書きかけて放置してしまっていたので、diff が古かったりするのはご愛敬で。。 構成の概要 今回構築しようと思う構成は次の通りです。 PSGI を用いた簡単な Web アプリ アプリを動作させる Perl とそのモジュール群は perlbrew + Carton で管理 複数のシステムを同一サーバで動かす可能性もあるため分離しておきたい Carton 使ってみたい アプリケーションサーバには Server::Starter + Starman を利用 Hotdeploy できるようにするため Server::Starter のプロセスは Supervisord で管理 supervisord の導入 スーパーサーバーSupervisorの導入手順

                                                      • 第24回 PSGI/Plack実践入門―Starman、Starlet、Twiggy、Plack::Middleware、Server::Starter(2) | gihyo.jp

                                                        Perl Hackers Hub 第24回PSGI/Plack実践入門―Starman、Starlet、Twiggy、Plack::Middleware、Server::Starter(2) 前回の(1)はこちらから。 PSGIサーバ ここまで主にPSGIのアプリケーション側について見てきましたが、(⁠2)ではアプリケーションを実行するためのPSGIサーバについて紹介します。 PSGIサーバの役割 PSGIサーバはPerlによるプログラムで、PSGIアプリケーションとアプリケーションが実行される環境を結び付ける役割をします。 図2がPSGIサーバの役割を図に表したものです。ApacheやnginxなどのWeb サーバからCGI、FastCGI、HTTPプロトコルを経由してクライアントからのリクエストがPSGIサーバに届きます。PSGIサーバはそれぞれの環境からPSGIのリクエスト情報を集め

                                                          第24回 PSGI/Plack実践入門―Starman、Starlet、Twiggy、Plack::Middleware、Server::Starter(2) | gihyo.jp
                                                        • server-starter | RubyGems.org | your community gem host

                                                          Versions: 0.3.2 - May 09, 2022 (19 KB) 0.3.1 - August 26, 2016 (18.5 KB) 0.3.0 - April 03, 2016 (18 KB) 0.2.1 - April 03, 2016 (18 KB) 0.2.0 - April 03, 2016 (18 KB) Show all versions (13 total)

                                                          • Server::Starter を node.js のサーバ起動に使う | tech - 氾濫原

                                                            Server::Starter は hot deploy 用の汎用スーパーデーモンで、Perl で書かれています。h2o の起動にも使われているのでみなさんおなじみでしょう! Server::Starter がやってることは、Server::Starter 側で listen したソケットの fd を環境変数につっこんで子プロセスを起動というものです。子プロセス側では渡ってきた環境変数を読んで、fd について accept すれば良いことになります。 これを node.js でやるには以下のようにすれば良いようです。 //#!/usr/bin/env node "use strict"; const http = require('http'); const server_starter_port = process.env['SERVER_STARTER_PORT']; if (!ser

                                                            • ServersMan@VPSでServer::Starter、Starman、Catalystアプリの構築 - kzhroの日記

                                                              久々の更新です。 仕事上、静的ファイルを扱うようなシステムはあまりないのでウェブサーバとアプリケーションサーバを分けずに運用しているのですが、近々にデザインされた小さなウェブアプリケーションをリリースすることになりました。 さすがにApacheのプロセス全てにCatalystアプリをのせるのは無駄なので、静的ファイルを処理するApache2.2系の後ろにServer::Starter、Starman、Catalystの組み合わせで運用を考えています。 そんな訳で今回は個人で借りているDTIのVPSサーバ(Entry プラン)で試してみました。cpanminusの環境を前提として進めます。 まずは必要なモジュールをインストール $ cpanm Catalyst $ cpanm Catalyst::Devel $ cpanm Catalyst::Engine::PSGI $ cpanm Pla

                                                              • Plack::Server::Standalone::Prefork::Server::Starter から Starman への移行 - tokuhirom's blog

                                                                plackup -s Standalone::Prefork::Server::Starter ってかいてあるところを plackup -s Starman --worker 3とかにかえればいい。 starman っていうコマンドがあるけどこれは alias starman="plackup -s Starman"相当のコマンドなので無理につかう必要はない。 Starman のオプションは starman -hとすればみれる。 なお、Starman は Plack の開発版リリースが必要なので注意。 Starman は UNIX domain socket を listen することも可能なので、nginx などを front の reverse proxy としておいている場合等では、うまく利用するとパフォーマンスが向上するかもしれない。

                                                                • Server-Starter-0.35

                                                                  The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

                                                                    Server-Starter-0.35
                                                                  • Server::Starter、Starman、Starletを使ったオレオレ運用方法 - KJ blog

                                                                    2013-05-14 Server::Starter、Starman、Starletを使ったオレオレ運用方法 インターネットからリクエストを直接受け付けるのはApacheやnginxで、そこからリバースプロキシでPSGIアプリを使ってレスポンスを返しているというケースを想定して書いてます。 やり方は色々とあるんだろうけれど、apachectlライクにstart,stop,restartでお手軽に運用したいのでstart_serverスクリプト(Server::Starter)をラッピングしたものを書きました。 使い方は下記の通りです。 usage: /path/to/script/appctl --stage=[development|production] [--start|--stop|--restart] githubのソースはこちらで、以下はappctlスクリプトのソースです。ログ

                                                                    • DropwizardがServer::Starterを使ったhot deployに対応しました

                                                                      僕はDropwizard使った事ないんですが、DropwizardでもServer::Starterを使ってhot deploy出来たら便利かも知れないと思ったので、 プルリクを送ってみたらマージしてもらえました。 次にリリースされる、1.0.0に含まれます。 Dropwizardの設定としては、yamlファイルに以下のようにinheritChannel: trueって書くだけでOKです。 server: type: simple connector: type: http port: 8080 inheritChannel: true Server::Starterのしくみや設定については以下を読んでください。 Server::Starterから学ぶhot deployの仕組み Server::Starter を Java で利用する方法。または、System.inheritedChan

                                                                      • Server::Starter 0.13 was released. It supports `start_server --dir /path/to` - Hateburo: kazeburo hatenablog

                                                                        In Server::Starter 0.13, --dir option was added to start_server. start_server will do chdir to a specified directory before exec(2). It's useful when you use carton, proclet and deploy tool like capistrano that does rsync all project files and symlink to a newest directroy. https://metacpan.org/release/Server-Starter Server::Starter 0.13で start_server に --dir オプションが追加されました。exec前に指定したディレクトリにchdirしま

                                                                          Server::Starter 0.13 was released. It supports `start_server --dir /path/to` - Hateburo: kazeburo hatenablog
                                                                        • Server Starter - a superdaemon to hot-deploy server programs

                                                                          Server::Starter is a superdaemon that allows for hot deployment of server programs without downtime or resource leaks. It works by binding to TCP ports and spawning application server processes to handle connections while signaling old processes to shutdown when new ones are launched. This allows servers to be upgraded without interrupting service and prevents issues like file descriptor leaks tha

                                                                            Server Starter - a superdaemon to hot-deploy server programs
                                                                          • 本気で Server::Starter を fatpack する方法 - tokuhirom's blog

                                                                            イチから作るには以下のようにせよ。 curl -o cpanm https://raw.githubusercontent.com/miyagawa/cpanminus/master/cpanm /usr/bin/perl cpanm -n -L tools App::FatPacker::Simple Server::Starter /usr/bin/perl -Mlib=tools/lib/perl5 cpanm -n -L local Server::Starter /usr/bin/perl -Mlib=tools/lib/perl5 ./tools/bin/fatpack-simple --output=start_server local/bin/start_server 一旦 tools/ 以下にインストールしているのがポイント。Server::Starter のビルド時依存

                                                                            • 第24回 PSGI/Plack実践入門―Starman、Starlet、Twiggy、Plack::Middleware、Server::Starter(3) | gihyo.jp

                                                                              Perl Hackers Hub 第24回PSGI/Plack実践入門―Starman、Starlet、Twiggy、Plack::Middleware、Server::Starter(3) (1)はこちら、(⁠2)はこちらから。 PSGIミドルウェア PSGIミドルウェアとは PSGIアプリケーションとPSGIサーバの間にあり、PSGIアプリケーションをラップすることでリクエストやレスポンスを書き換えるしくみのことをPSGIミドルウェアと呼びます。PlackではPlack::Middlewareという名前空間のもとに実装され、CPANにも数多くアップロードされています。 Plack::Builderモジュールを利用すると、DSL(Domain Specific Language、ドメイン特化言語)にてミドルウェアの読み込みと設定を行うことができます。 use Plack::Builder

                                                                                第24回 PSGI/Plack実践入門―Starman、Starlet、Twiggy、Plack::Middleware、Server::Starter(3) | gihyo.jp
                                                                              • Go lang hot-deploy with go-server-starter

                                                                                https://github.com/lestrrat/go-server-starter The start_server utility is a superdaemon for hot-deploying server programs. Let's try. Environment: EC2 AMI ID: Amazon Linux AMI 2015.09 (HVM), SSD Volume Type - ami-9a2fb89a Go Sample app Install Go $ sudo yum -y install golang $ go version go version go1.4.2 linux/amd64 $ mkdir ~/gocode $ echo 'export GOPATH=$HOME/gocode' >> ~/.bashrc $ source $HOME

                                                                                  Go lang hot-deploy with go-server-starter
                                                                                • GitHub - lestrrat-go/server-starter: Go port of start_server utility (Server::Starter)

                                                                                  note: this description is almost entirely taken from the original Server::Starter module The start_server utility is a superdaemon for hot-deploying server programs. It is often a pain to write a server program that supports graceful restarts, with no resource leaks. Server::Starter solves the problem by splitting the task into two: start_server works as a superdaemon that binds to zero or more TC

                                                                                    GitHub - lestrrat-go/server-starter: Go port of start_server utility (Server::Starter)