Skip to Content
リアルタイム分析システムの構築
book

リアルタイム分析システムの構築

by Mark Needham
March 2025
Beginner to intermediate
220 pages
3h 15m
Japanese
O'Reilly Media, Inc.
Book available
Content preview from リアルタイム分析システムの構築

第9章. サービング・レイヤーのアップサート

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

AATDの演算子は、これまでの進歩に満足している。 人気のある商品やカテゴリーについてリアルタイムで把握できるようになり、調達が大幅に楽になった。

しかし(いつもそうだが)、注文が遅れているというクレームが寄せられており、現時点では顧客への注文の配送がどうなっているのか、まったく把握できていない。 顧客も自分の注文の状況や、いつ自分の家に届きそうなのかを知りたがっている。

この章では、この2つの問題を解決していく。 注文と配送のステータスを紹介し、それらは時間とともに変化していく。 この種のデータを扱うには、サービスが同じ注文の複数のイベントを処理する必要がある。最新のステータスを知りたいだけでなく、そのステータスが時間とともにどのように変化したかも知りたい。

楽しい章になりそうだ!

注文状況

前述したように、ユーザは、、注文が発注されてから手元に届くまでのステータスを追跡できることを望んでいる。また、演算子は、注文がタイムリーに履行されていないかどうかを知りたがっている。 この機能を提供するためには、注文ステータスを持つ必要がある。

ordersStatuses 、Kafkaにトピックを追加し、これらの状態を追跡する。 オーダーは以下の段階を経る:

  • PLACED_ORDER

  • 注文確定

  • 準備中

  • ビーイング・クックド

  • アウト_フォア_デリバリー

  • アライバル・アット・ドア

  • 配達された

実際のシステムでは、これらのステータス更新は、各ステージを処理するサービスによって公開される。 例えば、配送サービスは、OUT_FOR_DELIVERY、ARRIVING_AT_DOOR、DELIVEREDのステータスを処理する。

このコマンドは、オーダーがどのようにステージを進むかの例を出力する:

kcat -C -b localhost:29092 -t ordersStatuses |
jq 'select(.id == "ed3fe5bc-2e2e-49c3-a2f3-367b4dd80000")'

結果を例9-1に示す。

例 9-1. 発注から納品までの注文状況
{
  "id": "ed3fe5bc-2e2e-49c3-a2f3-367b4dd80000",
  "updatedAt": "2022-10-17T13:27:35.739917",
  "status": "PLACED_ORDER"
}
{
  "id": "ed3fe5bc-2e2e-49c3-a2f3-367b4dd80000",
  "updatedAt": "2022-10-17T13:30:07.739917",
  "status": "ORDER_CONFIRMED"
}
{
  "id": "ed3fe5bc-2e2e-49c3-a2f3-367b4dd80000",
  "updatedAt": "2022-10-17T13:30:20.739917",
  "status": "BEING_PREPARED"
}
{
  "id": "ed3fe5bc-2e2e-49c3-a2f3-367b4dd80000",
  "updatedAt": "2022-10-17T13:30:30.739917",
  "status": "BEING_COOKED"
}
{
  "id": "ed3fe5bc-2e2e-49c3-a2f3-367b4dd80000" ...
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.
Start your free trial

You might also like

コードとしてのポリシー

コードとしてのポリシー

Jimmy Ray
ハイパフォーマンスMySQL 第4版

ハイパフォーマンスMySQL 第4版

Silvia Botros, Jeremy Tinley
インタフェースの設計 第3版

インタフェースの設計 第3版

Jenifer Tidwell, Charles Brewer, Aynne Valencia

Publisher Resources

ISBN: 9798341626881Supplemental Content