Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
OCI Queue Service 概要
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
oracle4engineer
PRO
December 21, 2023
Technology
1.2k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
OCI Queue Service 概要
oracle4engineer
PRO
December 21, 2023
More Decks by oracle4engineer
See All by oracle4engineer
Deep Data Security 機能解説
oracle4engineer
PRO
2
97
Oracle Cloud Infrastructure:2026年6月度サービス・アップデート
oracle4engineer
PRO
0
260
Oracle AI Databaseデータベース・サービスのメンテナンス(BaseDB/ExaDB-D/ExaDB-XS)
oracle4engineer
PRO
4
1.6k
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.6k
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
2k
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
3k
CrossplaneによるCloud Native Control Plane
oracle4engineer
PRO
0
110
OCI Oracle AI Database Services新機能アップデート(2026/03-2026/05)
oracle4engineer
PRO
0
520
Oracle Cloud Infrastructure IaaS 新機能アップデート 2026/3 - 2026/5
oracle4engineer
PRO
1
340
Other Decks in Technology
See All in Technology
作る力から、見極める力へ — AI時代に広がるエンジニアの価値と役割
rince
0
300
スタートアップにAmazon EKSは早すぎる? マルチプロダクト戦略を加速する Platform Engineeringの実践 / Is Amazon EKS Too Soon for Startups? Practical Platform Engineering to Accelerate a Multi-Product Strategy
elmodev09
1
1.7k
“詰む”前に仕組みを作れ 〜技術の波に溺れないためのキャッチアップ術〜
takasyou
7
3.5k
インシデントレスポンス演習 I / Incident Response Exercise I
ks91
PRO
0
110
Lightning近況報告
kozy4324
0
220
起点・思考・出力で分解する 〜PM業務の自動化設計〜
kazu_kichi_67
0
630
攻撃者視点で考えるDetection Engineering
cryptopeg
3
2.1k
OTel × Datadog で 「AI活用」を計測し、改善に繋げる
shihochan
2
580
5分でわかるDuckDB Quack
chanyou0311
2
220
AI 不只幫你寫 Code: 當專案從 300 暴增到 1500, 我們如何撐住 DevOps
appleboy
0
150
【2026年版】 ベクトル検索とEmbedding最前線
mocobeta
23
7.2k
徹底討論!ECS vs EKS!
daitak
3
1.3k
Featured
See All Featured
Un-Boring Meetings
codingconduct
0
320
Music & Morning Musume
bryan
47
7.2k
Abbi's Birthday
coloredviolet
3
8.2k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
201
75k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
540
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
350
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
200
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.6k
AI: The stuff that nobody shows you
jnunemaker
PRO
8
730
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
Darren the Foodie - Storyboard
khoart
PRO
3
3.4k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
620
Transcript
OCI Queue Service ご紹介 日本オラクル株式会社 2024年5月
メッセージ基盤の分類 分散ストリーミング • 点と(複数の)点を接続 • ブローカー通信 • リアルタイム/高スループット • メッセージの再利用性
• 順序保証 • 例) OCI Streaming (Kafka) メッセージキュー • 点と点を接続 • ブローカー通信 • 信頼度の高い非同期通信 • 一度だけのメッセージ処理 • 処理の保証 • 複数のプロトコル • 自動スケール • 例) OCI Queue メッセージブローカー • 点と(複数の)点を接続 • ブローカー通信 • Pushベース/非同期 • 緩い順序保証 • 例) Oracle TEQ (AQ) (ストリーミング) Web サービス • 点と点を接続 • 直接の通信 • 同期通信 • 例) HTTP Web Services, gRPC Copyright © 2024, Oracle and/or its affiliates. 2
非同期メッセージングをサーバレスに実現する、ハイパフォーマンス・メッセージキュー 3 Copyright © 2024, Oracle and/or its affiliates. OCI
Queue Service ▪ ユースケース • アプリケーションを分離し、疎結合なアーキテクチャを構築 • 信頼性の高いスケーラブルなメッセージ基盤の活用 ▪ 特徴 • フルマネージド、オートスケール • OCI Streaming を補完する適用領域 • オフセット(カーソル)無し、メッセージ消費は逐次確認 • パーティション無し、需要に応じてオートスケール • at-least-once 配信、配信順序はベストエフォート • Dead Letter Queue (DLQ) の提供 (異常終了メッセージを退避) • チャネル機能(一時的なキュー内の宛先) • キューメッセージの暗号化 • STOMPプロトコルをサポート ▪ 価格 最初の100万リクエストは無料、移行100万リクエストごとに¥30.8 * 1 リクエストのメッセージ容量が64KBを超える場合、64KBを1単位として複数のリクエストとして計算 ** 複数メッセージの同時取得は、メッセージ容量に基づいて計算 Container Engine For Kubernetes Containers Virtual Machine OCI Queue Service Functions Producer … etc. Container Engine For Kubernetes Containers Virtual Machine Functions Consumer … etc. • STOMP: Simple Text Orientated Messaging Protocol 軽量なメッセージングプロトコル regular dead letter
4 マネージド 自動化、メンテナンス要らず のインフラとプラットフォーム セキュア 外部/内部の脅威から データを守る スケール 停止なしの自動スケール と最低限のコスト
OCI Queue Service の特長 4 従量課金 最大限のコストパフォーマンス 複数のプロトコル HTTP/STOMPのサポート Copyright © 2024, Oracle and/or its affiliates.
①プロデューサ(メッセージ送信クライアント)はメッセージを OCI Queue に公開 ②コンシューマ(メッセージ受信クライアント)が OCI Queue 上のメッセージを取得 ③コンシューマが取得したメッセージを処理 ④コンシューマがOCI
Queueに対して処理したメッセージの 削除をリクエスト OCI Queue Service の基本的な処理の流れ プロデューサ OCI Queue コンシューマ ① ② ④ ③ Copyright © 2024, Oracle and/or its affiliates. 5
at-least-once デリバリーを採用 at-most-once デリバリー • メッセージ毎に、そのメッセージ は0回か1回配信される • メッセージは重複しない •
メッセージが失われる可能性 がある at-least-once デリバリー • メッセージ毎に、少なくとも1回 成功するように潜在的に複数 回配信が行われる • メッセージの重複があり得る • メッセージの複製が失われない exactly-once デリバリー • メッセージ毎に正確に1回の 配信が受信者に対して行わ れる • メッセージは重複しない • メッセージは失われたり複製さ れたりしない OCI Queue Service の機能 Copyright © 2024, Oracle and/or its affiliates. 6
デッド・レター・キュー (DLQ) 正常に処理されていないメッセージを格納する方法として、デッド・レター・キューを提供 • メッセージがキューから取得されるたびに、メッセージの配信回数が増加 • メッセージの配信回数が設定値を超えると、メッセージはデッド・レター・キューに移動 • キューの設定値(最大配信試行回数)はキューの作成時または変更時に指定可能 デッド・レター・キューに転送されたメッセージが削除されるのは以下の2パターン
• 設定した保存期間が過ぎ、サービスによって削除 • メッセージを処理後のコンシューマなどによって手動で削除 OCI Queue Service の機能 Copyright © 2024, Oracle and/or its affiliates. 7
Queueのモニタリング キューとデッドレター・キューの様々なメトリックを取得可能 • 消費可能なキュー内の現在のメッセージの概数 • コンシューマに配信されたがまだ削除されていないメッセージの概数 • 表示メッセージおよび処理中メッセージのサイズの合計としてのキューの概算サイズ(バイト) • etc.
OCI Queue Service の機能 Copyright © 2024, Oracle and/or its affiliates. 8
チャネル 一時的なキュー内の宛先として機能する • プロデューサはメッセージを特定のチャネルに公開可能 • コンシューマはメッセージを取得するチャネルのフィルタリングが可能 • 複数のチャネルがフィルタリングされたときには、その複数のチャネルからランダムに選択されメッセージを取得(ランダム・チャネル) • チャネルのフィルタリングをしない場合はキュー・レベルでランダム・チャネルから取得
OCI Queue Service の機能 Copyright © 2024, Oracle and/or its affiliates. 9
アプリケーションの分離 フロントエンドとバックエンドの分離 • バックエンドサービスの並列化 • 非同期処理の実現 • システム利用ユーザはバックエンド の処理終了を待たずに結果を得る •
疎結合性による開発スピードの 向上 コンポーネントの独立したスケール • ボトルネックの解消 • システム内でボトルネックの部分 (IaaS/コンテナ/DB/etc.)のみを 必要なだけスケール • 余剰リソースの削減 システムの拡張性 • 後からコンポーネントの追加(機 能の追加など)が容易 • QueueにProduce/Queueから Consumeと言う形を守ればよい OCI Queue Service のユースケース Front Svc1 プロデューサ コンシューマ コンシューマ コンシューマ スケール プロデューサ コンシューマ プロデューサ メッセージのスキーマを揃えれば、 コンシューマの変更は不要 Svc2 Svc3 Copyright © 2024, Oracle and/or its affiliates. 10
ユースケース: メッセージ処理の公平性 複数のプロデューサが同じキューにメッセージを Publishする場合に、あるプロデューサ(P1)からの メッセージが突然急増すると、他のプロデューサから のメッセージのConsumeが大幅に遅延する チャネルを用いたOCI Queueのユースケース 11 チャネル機能を利用すると、キュー・レベルのランダ
ム・チャネルからメッセージを取得できるため、メッセー ジ処理の偏りをなくし、公平性を高めることができる Copyright © 2024, Oracle and/or its affiliates.
ユースケース: 一時キューとして利用(リクエスト/レスポンス・パターン) 本来Pub/Subモデルの非同期メッセージングでは、リクエストとレスポンスは切り離されたものとなる • レスポンス先をリクエスト元に正確に返却するには、リクエスト元の特定が必要 • 一時キューとしてチャネルを活用することで、特定が可能 チャネルを用いたOCI Queueのユースケース 12
Copyright © 2024, Oracle and/or its affiliates.
デフォルトの制限 リソース 詳細 キュー テナンシ当たり10/リージョン 最大PutMessageリクエスト・サイズ 512KBおよび20メッセージ 最大GetMessageレスポンス・サイズ 2MBおよび20メッセージ メッセージの最大容量
128KB 処理中メッセージの最大数 キュー当たり100,000 キューごとの最大メッセージ 無制限 メッセージの保存 最大: 7日間 最小: 10秒 デフォルト: 1日 メッセージ表示タイムアウト 最大: 12時間 最小: メッセージ・レベルで0秒、キュー・レベルで1秒 デフォルト: 30秒 OCI Queue Service の制限 Copyright © 2024, Oracle and/or its affiliates. 13
デフォルトの制限 リソース 詳細 最大同時GETリクエスト キュー当たり1,000リクエスト/秒 最大メッセージ操作数 キュー当たりのAPI当たり1,000リクエスト/秒 最大データレート キュー当たりのイングレス: 10MB/sキュー当たりのエグレス:
10MB/s 投票タイムアウト 最大: 30秒最小: 0秒 STOMPスループット STOMP接続あたり10Mバイト/秒 ストレージ テナンシ当たり20GB、キュー当たり2GB OCI Queue Service の制限(続き) Copyright © 2024, Oracle and/or its affiliates. 14
「ドクセル」 を、OCI Container Instancesを活用してGoogle Cloudから移行し、圧倒的なコスト削減を実現 ドクセル(Docswell) • PDFやパワーポイントのスライドを共有できる国産のスライドシェ アサービス。ユーザー約30万人、月間アクセス約600万回。 従来の課題
• 既存のGoogle Cloud環境のコスト削減の必要性があった(特 に、アウトバウンドのデータ転送のコスト)。 • ユーザーアクセス時にコンテナが都度起動するスピンアップの仕組 みにより、時に遅延が発生していた。 採用ポイントと導入効果 • 既存Google Cloud環境から移行し、特にデータ転送が毎月 10TB無料の利点を享受し、全体で約65%のコスト削減を実 現。MySQL Database Serviceの高可用性構成の部分は、 要件を実現しつつ約50%のコスト削減を実現。 • OCI Container Instancesを活用し、Kubernetesを利用せ ずに既存のコンテナアプケーションをシームレスに移行できた。 • コスト面で有利なContainer Instancesを必要個数、常時起 動しておくことで、スピンアップの仕組みにする必要が無くなった。 結果、遅延のない安定的な処理を実現。 • 複数のコンテナ間の疎結合な処理にOCI Queueを活用。 システム構成イメージ 利用サービス(クラウドサービス/その他) • OCI Container Instances • OCI Registry • MySQL Database Service • OCI Queue • OCI Cache • コスト削減フレームワーク (Oracleによる移行アセスメント支援) 顧客事例:株式会社アプルーシッド様 Copyright © 2024, Oracle and/or its affiliates 15
None