タグ

ブックマーク / r7kamura.github.io (3)

  • Golang Reverse Proxy - r7km/s

    単一ホスト用のリバースプロキシを実装する net/http/httputilで、HTTP用のReverse Proxyを実装するためのライブラリが提供されている。 下記のコードで、http://127.0.0.1:3000 から http://127.0.0.1:9292 にHTTPリクエストを委譲するReverse Proxyが動作する。 httputil.NewSingleHostReverseProxyはhttputil.ReverseProxyのインスタンスを返す。 このインスタンスはhttp.Server互換の (.ServeHTTPメソッドに呼応できる) オブジェクトであるため、 http.Serverを利用してHTTPサーバを動作させられる。 // main.go package main import( "net/http" "net/http/httputil" "net

    kazeburo
    kazeburo 2014/07/22
  • Private PaaS Beach - r7kamura per second

    デプロイこそが全て。 Dokku https://github.com/progrium/dokku/ Dokkuを使えばmini-Herokuのような環境を簡単に構築出来る。 Dokkuを利用して構築したホストに対してgit pushでコードをデプロイすると、 HerokuBuildpacksの仕組みを利用して環境が構築され、 Dockerのコンテナ上でアプリが起動し、nginxの設定が更新される。 Dokkuのホスト上でnginxがHTTPリクエストを待ち受けており、 サブドメインを元に適切なコンテナにリクエストを渡すという仕組みになっている。 Digital Ocean https://www.digitalocean.com/ Dokkuを試しに使ってみるにはDigital Oceanを利用するのが便利。 最初からDokkuがインストールされた状態のイメージが用意されているこ

    Private PaaS Beach - r7kamura per second
    kazeburo
    kazeburo 2014/02/18
  • Rack::Multiplexer - r7kamura blog

    Rack::Multiplexerという、複数のRackを束ねるものをつくった。 Plack寄せ この前Perl界隈の人達と鍋を囲む機会があって、 !!1;の話、livedoor BlogのPlack化の話、ISUCONの話、 各社古いアプリ抱えていて辛いね苦しいね頑張ろうね若者に1日で書き換えさせようといった話をして、 結局、何となくこの界隈は全体的に「Plack寄せ」が進んでいるねという話に落ち着いた。 Rack寄せ 一方Ruby界隈だと比較的皆Rackに寄っている傾向にはあると思うけど、 もっと寄せてみると面白いんじゃないかと思って、Rack::Multiplexerをつくった。既にありそう。 Rack::Multiplexerは、所謂WebアプリのRouter(=Dispatcher)の処理を行うための実装で、 メソッドやパスの規則に従って受け取ったリクエストを別のRack app

    Rack::Multiplexer - r7kamura blog
    kazeburo
    kazeburo 2013/11/27
  • 1