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

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

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

第7章 ステートフル・ストリーミング ステートフル・ストリーミング

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

ステートフル・ストリーミングは、イベント駆動型マイクロサービスの最も重要なコンポーネントを支えるものである。「エンティティ・イベントからステートを実体化する」では、イベント・ストリームをローカル・ステートに実体化する原則を簡単に説明した。この章では、イベント駆動型マイクロサービスのステートを構築、管理、使用する方法について、より深く見ていく。

状態ストアとイベントストリームからの状態の実体化

定義から始めよう:

物質化された状態

ソースイベントストリームからのイベントの投影(不変性)

州店舗

サービスのビジネス・ステートが保存される場所(可変性)

両方のマテリアライズドステートとステートストアは、ステートフルなマイクロサービスでは必須であり、広範囲に使用されるが、両者を区別することが重要である。マテリアライズド・ステートはマイクロサービス・アプリケーションで一般的なビジネス・エンティティを使用できるようにするもので、ステート・ストアはビジネス・ステートと中間計算を格納するものである。

各マイクロサービスの設計では、サービスがデータをどこに保存するかも考慮しなければならない。ステートの保存とアクセスには、主に2つの選択肢がある:

  • 内部的には、データはプロセッサと同じコンテナに格納され、メモリまたはディスクに割り当てられる。

  • 外部とは、プロセッサーのコンテナの外、何らかの外部ストレージサービスにデータをストアすることである。これは多くの場合、ネットワーク経由で行われる。

図7-1は、内部および外部状態記憶装置の例を示している。

Internal and external state stores
図7-1. 内部および外部ステート・ストア

内部ストレージか外部ストレージかの選択は、主にマイクロサービスのビジネス責任と技術要件に依存する。しかし、これら2つの選択肢をより深く評価する前に、変更ログの役割を検討する必要がある。

Changelogイベントストリームに状態を記録する

変更ログは、ステートストアのデータに加えられたすべての変更の記録である。これは、テーブルとストリームの二元性におけるストリームであり、状態のテーブルが個々のイベントのストリームに変換される。マイクロサービスインスタンスの外部で維持される状態の永続的なコピーとして、変更ログは図7-2に示すように状態を再構築するために使用することができ、イベント処理の進捗をチェックポイントする方法として機能する。

チップ

チェンジログは、以前の処理結果を保存しているため、復旧したプロセッサがすべての入力イベントを再処理せずに済むため、障害が発生したサービスの再構築作業を最適化する。

A state store with changelogging enabled
図7-2. 変更ログを有効にしたステート・ストア

Changelogストリームは、他のストリームと同様にイベントブローカーに格納され、前述のように、状態ストアを再構築する手段を提供する。状態を再構築するために必要なのは最新のキーと値のペアだけなので、Changelogストリームはコンパクトにする必要がある。 ...

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