KarmaのMicroserviceへの取り組みを読んでみた

KarmaのMicroserviceへの取り組みを読んでみた。

検索する限りでは、以下URLの企業のよう。

Microserviceにおける、個々のサービスがコミュニケーションする方法として以下の2通りを用いているそうな。

  1. Communicate each other with HTTP requests
  2. Communicate each other with a message queue

この中で、HTTPリクエストベースで、あるサービスから別のサービスへメッセージを投げる形をはじめはとっていたけれど、これはサービスが増加してきたらより複雑になってくるからmessage queueを使うようになってきたとか。

実現のため、Amazon SNSをイベントを配信するために使い、Amazon SQSをそれらイベントを蓄積するためにつかったそうな。プロセスが成功したらjobがQueueから取り出され、進行し、削除される。もしプロセスが失敗すれば、そのプロセスはqueueに戻ってくる。

新しいマイクロサービスが追加されたら、そのサービスはメッセージのタイプを受け取るか、何のメッセージを配信するかという設定ファイルを読み込む。Fareと呼ばれる内省ツールを使っている。

The Biggest Challenge is Testing とあるように、系として如何にテストするか、が大きな挑戦だと言っていたところが面白かった。

この記事のコメントのところに、Pactの話も出ていて、Consumer-Driven Contracts Design Patternはサービスごとの依存性を緩和する手段としてベストプラクティスになりつつあるのかなという感じを受けました。

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s