gRPCチュートリアルのクライアント側をFlaskで動かす
はじめに
前回の記事から少しソースを改良した。 クライアント側にFlaskを導入し、ブラウザからのリクエストに応じてレスポンスをするよう修正した。
イメージは以下の通り。
ソース
実施
docker-compose up
実施後、サーバ用コンテナに乗り込み、greeter_server.py
を実行。
satoukensuke@MacBook-Pro ~ % docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b082024290ec grpc-test_client "/entrypoint.sh /sta…" 56 minutes ago Up 56 minutes 80/tcp, 443/tcp, 0.0.0.0:50050->50050/tcp grpc-test_client_1 a4d3818cbe16 grpc-test_server "python3" 2 days ago Up 56 minutes 0.0.0.0:50051->50051/tcp grpc-test_server_1 satoukensuke@MacBook-Pro ~ % docker exec -it grpc-test_server_1 /bin/bash root@SERVER:/service/server# python greeter_server.py
クライアント用コンテナに乗り込み、greeter_client.py
を実行。
Flaskが起動されたことを確認。
satoukensuke@MacBook-Pro ~ % docker exec -it grpc-test_client_1 /bin/bash root@CLIENT:/service/client# python greeter_client.py * Serving Flask app "greeter_client" (lazy loading) * Environment: production WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead. * Debug mode: on * Running on http://0.0.0.0:50050/ (Press CTRL+C to quit) * Restarting with stat * Debugger is active! * Debugger PIN: 240-189-845
ブラウザからクライアントにアクセス(http://localhost:50050/test?name=you
)し、期待したレスポンス(Json形式)が表示されるのを確認した。