- 実行する前にinstall_program.shを実行してzookeeperとredisをインストールしてください。
- dockerが実行可能な環境が必要です。
- ステートレスなサービスの例を見せます。ステートレスなサーバーはロードバランサーに追加する方法で簡単に拡張できます。
- ipを入力すると、該当する国を教えてくれる例題です。公開されているmaxmindライブラリを利用します。
- 独立して動作するステートレスなサービスの例です。
- 入力されたurlのOpengraphをパースして見せる例題です。
- 独立して動作するステートレスなサービスの例です。
- ロードバランサーの例題はnginxを利用して簡単にロードバランサーが動作することを見せます。
- nginxのインストールが必要です。
sudo apt install -y nginx
- nginxは、「127.0.0.1:7001」と「127.0.0.1:7002」の2つに合わせて設定されています。scrapサーバーをポート7001、ポート7002を使用するように2つを実行します。
- Dockerを利用しても構いません。
- Docker build
docker build . -t ch1/scrap
docker run -e ENDPOINTS=0.0.0.0:7001 --network host ch1/scrap
docker run -e ENDPOINTS=0.0.0.0:7002 --network host ch1/scrap
- zookeeperの実行が必要です。
- callerは、calleeが追加/削除されると、zookeeperを通してcalleeの変化について通知を受けるようになります。
- callee
- 実際のScrapを行うサービスです。
- caller
- calleeにScrapをリクエストするサービスです。
- callerは、callリストでRound Robin方式によってリクエストをします。