2. 自己紹介 • 深谷 敏邦 • 2012年サイボウズ株式会社入社 • インフラチーム Hazama 所属 (2012/09~) • お仕事 • デプロイツールの作成 • MySQL HA 環境の構築 • Apache のデバッグ・パッチの作成 • Nginx を使ったリバースプロキシの構築 2
Recently I delivered a short talk at DevOps Days Austin contrasting the difference between hacking and engineering utilizing the problem of resolving NGINX upstreams dynamically from Consul. This article presents the technical solution sparing you the rhetoric. Those interested may review the slides from the talk here: Hacking vs Engineering. REQUIREMENTS Must be able to present various service fu
Configuration, Environment Machine Ubuntu14.04 on VMWare Intel(R) Core(TM) i7-4770K CPU @ 3.50GHz 4core Memory 8GB Software version ngx_mruby GitHub latest master df050067427fc8448a3c8589403fdfe336b82136 lua-nginx-module GitHub latest master bc120f9a2279a384e4335bedf765e844b4d22adb nginx 1.7.6 Didn't tune up kernel parameters OS $ uname -a Linux ubuntu14-04-64 3.13.0-24-generic #47-Ubuntu SMP Fri
今年の秋頃に将来nginxでJavaScriptが書けるようになるという話が出ましたが、nginxには元々サードパーティモジュールの中でも有名なngx_luaがあります。また、Advent Calendarを見るにngx_mrubyも盛り上がってきているようです。 そこで両者の比較エントリを書いてみようと思います。 まずngx_mrubyについてはこのカレンダーでさんざん語られてるのでngx_luaについて。 ngx_luaは簡単に言うとngx_mrubyと同じようなこと(あるいはそれ以上のこと)がLuaでできるnginxのサードパーティモジュールです。 例えば「Hello, World!」はこんな感じで書けます。 ngx_luaで利用できるLua処理系 ngx_luaではLua5.1とLua5.1互換のLuaJITが利用できます。逆に言うとLua5.2以上だとビルドできないので注意しまし
nginxは近年急速にユーザ数を伸ばしているOSSのHTTPサーバです。2015年3月のNetCraftの調査結果によると現在nginxのシェアは全世界のWebサイトの十数パーセントを占めるまでになっています。 nginxがこれだけ急速な勢いでユーザ数を伸ばしている要因の一つとしてnginxのソースコードに直接手を入れることなくモジュールを開発するための仕組みが整っていることが挙げられます。HTTPサーバに求められる要件は非常に多岐に渡るため、コア開発者だけでなくユーザ開発者が自分のニーズを満たすためにHTTPサーバを拡張できるのは重要なポイントです。そして実際に多くの開発者の手によって様々な用途のモジュールが開発され、nginxの強固なエコシステムが形成されてきました。 本トークでは拙作のngx_small_lightやngx_dynamic_upstreamといったnginxモジュール
Nginxでリバースプロキシしつつlua-nginx-moduleを使ってリクエストやレスポンスを書き換える。図にするとこんな感じ。 client proxy app | 🍣 | 🐟 | |-------> 🐟 -------> 🐟 | 🍣 🍚 🐟 | |<--------|<----------| クライアントから寿司が送られてくるけどアプリケーションはネタだけ受け取りたいのでシャリはプロキシに抜いてもらう。 アプリケーションからのレスポンスにはさっきのネタが含まれているので、プロキシはシャリを戻してクライアントに返してあげる。 ローカルにOpenResty入れて適宜luaファイルを書き換えてcurlを叩くとかでもいいんだけど、絶対あとからだるくなってくるのでDockerでコンテナを立ち上げて、それに対してリクエスト投げるテストを書くことにした。 Dockerファイルはこち
Luaは、C言語のホストプログラムに組み込まれることを目的に設計されており、高速な動作と、高い移植性、組み込みの容易さが特徴である。いったんバイトコードにコンパイルされ、Lua VMで実行される。LuaJITは The Computer Language Benchmarks Game によると、動的型付けのスクリプト言語では最速の言語・処理系である[14]。 TIOBE Programming Community Index(英語版)では2007年に人気が急上昇し、2011年6月には10番目に人気なプログラミング言語になったが、その後は人気が下がっている[15]。2009年2月の調査で、ゲーム開発者がイベントスクリプト等の内部処理に利用する言語として、最も利用例が多いと報告されるなど、近年[いつ?]はゲーム産業での利用が広がっている[16]。2013年3月以来、ウィキメディア財団のサイト
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く