複数の host に reverseproxy みたいに request を clone して投げて response を集める
複数の host に reverseproxy みたいに request を clone して投げて response を集めたかったのでそういうのを書いてみた。 proxy 自体の response は json になっていて、proxy 先のレスポンスも正しい json の場合はそのまま展開、そうじゃなかったら空かbase64 に encode するようにしてみた。
$ proxy-collector -config config.json -host 127.0.0.1 -port 7423 $ curl -s 127.0.0.1:7243/ping | jq . # => (http://localhost:5000/ping, http://localhost:6000/ping) [ { "target": "http://localhost:5000", "body": { "pong": "ok" }, "status_code": 200 }, { "target": "http://localhost:6000", "body": { "pong": "ok" }, "status_code": 200 } ] $ cat config.json { "target_list": [ "http://localhost:5000", "http://localhost:6000" ], "body_fallback": 0 }
こんな感じ。
wercker, docker のほうにしたら立ち上がるまでがめっちゃ早くなった