Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
OCI Queue Service 概要
Search
oracle4engineer
PRO
December 21, 2023
Technology
1.3k
2
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
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
16
120k
Oracle Cloud Infrastructure:2026年9月度サービス・アップデート
oracle4engineer
PRO
1
23
[2026 Oracle Technical Deep Dive] Apache Iceberg × Oracle AI Database -Oracle Autonomous AI Lakehouseが実現するAI時代のデータ基盤- (2026年9月17日開催)
oracle4engineer
PRO
0
4
[2026 Oracle Technical Deep Dive] エンタープライズAIエージェントを支えるOCIソリューション。ラインナップと特徴を理解しよう! (2026年9月17日開催)
oracle4engineer
PRO
0
4
[2026 Oracle Technical Deep Dive] AI時代のデータベース基盤をどう選ぶ? Exadata Database Serviceの選択肢と使い分け (2026年9月17日開催)
oracle4engineer
PRO
0
3
[2026 Oracle Technical Deep Dive] オンプレミスDBのCloud移行アプローチ:移行計画に基づくメソッドとツールの選択 (2026年9月17日開催)
oracle4engineer
PRO
0
4
[2026 Oracle Technical Deep Dive] VMwareワークロードのOCI移行実践ガイド - OCVSでの継続利用からOCIコンピュートへの移行まで (2026年9月17日開催)
oracle4engineer
PRO
0
4
[2026 Oracle Technical Deep Dive] OCI AI Resilience -OCIのセキュリティ対策機能をきちんと使いこなす- (2026年9月17日開催)
oracle4engineer
PRO
0
4
[2026 Oracle Technical Deep Dive] AI時代のアプリケーションを支えるCloud NativeとJava EEモダナイゼーション (2026年9月17日開催)
oracle4engineer
PRO
0
4
Other Decks in Technology
See All in Technology
ボードゲームの遊び相手をFoundation Modelsで作る / iOSDC Japan 2026
genda
0
210
HolmesGPTで始めるSREエージェント入門!プラットフォームの障害調査はAIにお任せ 〜
sanghyuk
0
220
Snowflake Horizon Catalog と Apache Iceberg で作る オープンなデータ基盤
kitagawaz
0
210
雪かき部 #7 もう怖くない!SELECT文!
foursue
0
100
Antigravity SDK for the Java Developer
glaforge
0
220
Argo CDとAtlantisで実現するインフラ管理のセルフサービス化──小規模SREチームで支えるプラットフォーム
cassius7
0
200
AWS FinOps Agent 結局何が得意なの?
siromi
0
210
C#未経験の僕がAIに読めるコードを書かせるまで
maguroalternative
0
330
音声コミュニティを守るAI監視基盤_ 90%以上の入力削減を支えたServerless設計と運用判断
shuheioka123
0
110
エージェントはローカル、検証はMicroVM — Lambda MicroVMsでつくるServerless CI
fujioka6789
3
830
Goodbye ShellScript, Hello File-based App
shunsock
0
1.2k
2026-09-18 gotanda.sre Terraformで複数環境作ったり、複数Stateに分割したりそれとTerragrunt / Terraform multi envs and multi states
masasuzu
4
760
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.3k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
530
Paper Plane (Part 1)
katiecoart
PRO
2
11k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
520
Un-Boring Meetings
codingconduct
0
430
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
2k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
550
Docker and Python
trallard
47
4.2k
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