Skip to Content
イベント駆動マイクロサービスを構築する
book

イベント駆動マイクロサービスを構築する

by Adam Bellemare
March 2025
Beginner to intermediate
324 pages
4h 49m
Japanese
O'Reilly Media, Inc.
Content preview from イベント駆動マイクロサービスを構築する

第9章. ファンクション・アズ・ア・サービスを使ったマイクロサービス

この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com

FaaS(Functions-as-a-Service)は、近年人気が高まっている「サーバーレス」ソリューションだ。FaaSソリューションは、インフラ・オーバーヘッドを管理することなく、アプリケーション機能の構築、管理、デプロイ、スケーリングを可能にする。FaaSは、イベント駆動型システムにおいて、単純なソリューションから中程度に複雑なソリューションまでを実装する手段として、大きな価値を提供することができる。

関数とは、特定の条件付きで実行されるコードの一部である。関数は起動し、完了するまで実行され、処理が完了すると終了する。FaaSソリューションは、負荷に応じて関数の実行回数を簡単に増減させることができ、非常に変動しやすい負荷に対して綿密なトラッキングを提供する。

FaaSソリューションを、定期的に失敗する基本的なコンシューマ/プロデューサ実装と考えることは、役に立つかもしれない。関数は、あらかじめ決められた時間が経過すると必ず終了し、それに関連するコネクションやステートはすべて消えてしまう。関数を設計する際には、このことを念頭に置いておこう。

機能ベースのソリューションをマイクロサービスとして設計する

FaaSソリューションは、多くの異なる関数から構成される可能性があり、それらの演算子の総和がビジネス境界づけられたコンテキストに対するソリューションを構成する。機能ベースのソリューションを作成する方法は数多くあり、本章でカバーしきれないほどであるが、プロセスを通してあなたを導くのに役立ついくつかの一般化設計原則がある。

境界づけられたコンテキストへの厳格なメンバーシップを保証する

ソリューションを構成する関数と内部イベントストリームは、関数とデータの所有者が明確に識別されるような、境界づけられたコンテキストに厳密に属していなければならない。マイクロサービスソリューションを大量に実装する場合、関数、サービス、イベントストリームの所有権に関する疑問が組織で生じることはよくあることである。多くのマイクロサービスソリューションは、境界づけられたコンテキストに1:1でマッピングされるが、単一の境界づけられたコンテキストに複数の関数が使用されることがあるため、n:1のマッピングも珍しくない。関数の粒度が高いと境界づけられたコンテキストの行が曖昧になる可能性があるため、どの関数がどの境界づけられたコンテキストに属するかを識別することが重要である。

境界づけられたコンテキストを関数で維持する実用的な方法には、以下のようなものがある:

  • データストアが外部のコンテキストからプライベートに保たれるようにする。

  • 他のコンテキストと結合する場合は、標準的なリクエスト/レスポンス・インタフェースまたはイベント駆動型インタフェースを使用する。

  • どの関数がどのコンテキストに属するか(関数と製品の1:1のマッピング)に関する厳密なメタデータを維持する。

  • 境界づけられたコンテキストにマッピングされたリポジトリ内で関数コードを維持する。

処理完了後にのみオフセットをコミットする

オフセットのコミットは、関数の開始時または関数の処理完了時の2つのタイミングがある。オフセットのコミットは、あるイベントまたはバッチ・イベントの処理が完了した後に行うのが、FaaSのベスト・プラクティスである。特定のファンクション・ベース・ソリューションのオフセットがどのように処理されるかを理解することは重要である。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

マイクロサービスの成功を可能にする

マイクロサービスの成功を可能にする

Sarah Wells
マイクロサービスアーキテクチャ 第2版

マイクロサービスアーキテクチャ 第2版

Sam Newman, 佐藤 直生, 木下 哲也

Publisher Resources

ISBN: 9798341625228