Pythonでnamekoを用いて簡単にマイクロサービスの作成し実行する

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を用いて簡単にマイクロサービスの作成し実行してみる検証を行う予定である。

コメント

タイトルとURLをコピーしました