Pythonでnamekoを用いて簡単にマイクロサービスの作成し実行してみます。
今回はnamekoを用います。このライブラリ・モジュールは、Pythonの標準ライブラリではありませんので、事前にインストールする必要があります。
■Python
今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)
■namekoを用いて簡単にマイクロサービスの作成し実行する
では、早速namekoを用いて簡単にマイクロサービスの作成し実行するスクリプトを書いていきます。
■コード
from nameko.rpc import rpc class test_service: name = "test_service1" @rpc def hello(self,name): return "こんにちは,{}!".format(name)
「from import」を用いてnameko.rpcのrpcを呼び出します。呼び出した後に、test_serviceというclassを宣言します。宣言後、nameという変数を定義し、その中に「”test_service1″」を格納します。格納後、さらに、def文を用いてhelloという関数を定義します。関数を呼び出した時に処理される内容としてはreturnとして、関数の引数,パラメータとして受けとった値や文字列を返すというものです。
■実行・検証
このスクリプトを「service_test.py」という名前で、Pythonが実行されている作業ディレクトリ(カレントディレクトリ)に保存し、コマンドプロンプトを起動します。
>nameko run service_test
起動後、上記のコマンドを入力し、Enterキーを押します。押すと、マイクロサービスが実行されます。
starting services: test_service1 Error connecting to broker at pyamqp://guest:********@localhost ([Errno 10061] WSAECONNREFUSED). Retrying in 2.0 seconds. Error connecting to broker at pyamqp://guest:********@localhost ([Errno 10061] WSAECONNREFUSED). Retrying in 4.0 seconds. Error connecting to broker at pyamqp://guest:********@localhost ([Errno 10061] WSAECONNREFUSED). Retrying in 6.0 seconds.
実際にEnterキーを押すと、上記のエラーが発生しました。このエラーを調べてみると、どうやらnamekoはWindowsは公式にはサポートされていない模様。あと、namekoを動かすには、RabbitMQというメッセージブローカーが必要であることが判明した。また、別の機会にWindows以外でnamekoを用いて簡単にマイクロサービスの作成し実行してみる検証を行う予定である。
コメント