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
いまからでも遅くない!システム間連携入門(メッセージキュー編)
Search
NoMu
July 27, 2023
Technology
0
1.1k
いまからでも遅くない!システム間連携入門(メッセージキュー編)
2023年7月26日に実施したconnpassで使用した資料になります
https://ibm-developer.connpass.com/event/289055/
NoMu
July 27, 2023
Tweet
Share
More Decks by NoMu
See All by NoMu
いまからでも遅くない!コンテナでWebアプリを動かしてみよう!コンテナハンズオン編
nomu
0
270
いまからでも遅くないコンテナ座学
nomu
0
460
Rerun いまからでも遅くない!デジタルレイバー超入門(座学編)
nomu
0
190
いまからでも遅くない!コンテナでWebアプリを動かしてみよう入門(2-2)WebAPIハンズオン
nomu
0
270
いまからでも遅くない! コンテナでWebアプリケーションを 動かしてみよう(2-1)WebAPI座学
nomu
0
420
いまからでも遅くない! コンテナでWebアプリケーションを 動かしてみよう(1)Gitハンズオン
nomu
0
740
Gitハンズオン準備
nomu
0
610
いまからでも遅くない!デジタルレイバー超入門(座学編)
nomu
1
360
WebSphere_Integration_Meetup
nomu
0
50
Other Decks in Technology
See All in Technology
20250910_障害注入から効率的復旧へ_カオスエンジニアリング_生成AIで考えるAWS障害対応.pdf
sh_fk2
3
170
AI時代に非連続な成長を実現するエンジニアリング戦略
sansantech
PRO
3
1.1k
エラーとアクセシビリティ
schktjm
0
1.1k
Obsidian応用活用術
onikun94
1
430
AI駆動開発に向けた新しいエンジニアマインドセット
kazue
0
300
大「個人開発サービス」時代に僕たちはどう生きるか
sotarok
20
9.5k
[RSJ25] Feasible RAG: Hierarchical Multimodal Retrieval with Feasibility-Aware Embodied Memory for Mobile Manipulation
keio_smilab
PRO
0
120
Bye-Bye Query Spaghetti: Write Queries You'll Actually Understand Using Pipelined SQL Syntax
tobiaslampertlotum
0
150
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
8.7k
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
11
4.4k
生成AI時代のデータ基盤設計〜ペースレイヤリングで実現する高速開発と持続性〜 / Levtech Meetup_Session_2
sansan_randd
1
140
下手な強制、ダメ!絶対! 「ガードレール」を「檻」にさせない"ガバナンス"の取り方とは?
tsukaman
2
390
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
95
14k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.5k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.9k
Site-Speed That Sticks
csswizardry
10
810
RailsConf 2023
tenderlove
30
1.2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.1k
Code Review Best Practice
trishagee
70
19k
Practical Orchestrator
shlominoach
190
11k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
800
Transcript
Tech Dojo いまからでも遅くない! システム間連携超入門 (メッセージキュー編。デモもある よ) 2023年07月26日 IBM Developer 17時3分開始予定です!
マイクをオフにして お待ちください。
2 Customer Success, IBM Technology, Japan / © 2023 IBM
Corporation 自己紹介 村田 憲昭 北海道北斗市 スノーボード、登山、グルメ、猫 カスタマーサクセス DX人材育成/教育(IT全般) 社内SE(いわゆる「ひとり情シス」) 某コンビニのエンジニア 名前 生息地 趣味 経歴
[email protected]
https://www.linkedin.com/in/noriaki-murata-nmz
3 Customer Success, IBM Technology, Japan / © 2023 IBM
Corporation 免責事項 本資料に含まれる情報は可能な限り正確を期しておりますが、 記載された内容に関して、日本アイ・ビー・エム株式会社が 何ら保証するものではありません。 従って、本資料の情報の利用は使用者の責任において 為されるものであり、資料の内容によって受けた 如何なる被害に関しても一切の補償をするものではありません。 アンケートのご協力宜しく御願いいたします。
4 Customer Success, IBM Technology, Japan / © 2023 IBM
Corporation メッセージキューの基本的な 概念がわかる 本Dojoのゴール
5 Customer Success, IBM Technology, Japan / © 2023 IBM
Corporation 本日のアジェンダ 1 .システム間連携とは 2 .MQとは 3 .デモ 4 .まとめ
6 Customer Success, IBM Technology, Japan / © 2023 IBM
Corporation システム間連携とは 異なるシステム間でデータを相互に共有・処理 できるようにする仕組み システムA システムB システム間 連携!
7 Customer Success, IBM Technology, Japan / © 2023 IBM
Corporation システム間連携とは システム間連携がない世界 システムA システムB それぞれが独立したシステムになっていた・・
8 Customer Success, IBM Technology, Japan / © 2023 IBM
Corporation システム間連携とは システム間連携がある世界 システムA システムB お互いに持っているデータや機能を共有
9 Customer Success, IBM Technology, Japan / © 2023 IBM
Corporation システム間連携とは 主なシステム間連携の種類 連携の種類 概要 ファイル連携 「ファイル」を介して別々のアプリケーション間のデータのや りとりをする方式 API連携 (主にWebAPI) ソフトウェアの一部機能を、他のソフトウェアから利用できる ようにして解放して、データのやりとりをする方式 (API=Application Program Interface) WebAPIは、APIをHTTP(HyperText Transfer Protocol)通信で利用 する方式 メッセージキュー 「キュー」と呼ばれるデータ領域を介して別々のアプリケー ション間でデータのやりとりをする方式
10 Customer Success, IBM Technology, Japan / © 2023 IBM
Corporation システム間連携とは システム間連携(ファイル連携) システム A システム B (FTP等) ファイル (FTP等) ※FTP=File Transfar Protocol。ネットワーク上でファイル等を転送する通信規約のこと
11 Customer Success, IBM Technology, Japan / © 2023 IBM
Corporation システム間連携とは システム間連携(API連携) API 登録 参照 更新 システム A システム B (HTTP等) (HTTP等) リクエスト リクエスト レスポンス レスポンス
12 Customer Success, IBM Technology, Japan / © 2023 IBM
Corporation システム間連携とは システム間連携(メッセージキュー) B FIFO キュー(待ち行列) 1 2 3 4 5 システム A システム B ※FIFO= First-in First-out。最初にいれたものを最初に出すこと
13 Customer Success, IBM Technology, Japan / © 2023 IBM
Corporation システム間連携とは システム間連携(一般的なメリット/デメリット) メリット デメリット ファイル連携 ・大容量通信が可能 ・非同期処理が可能 ・ファイル生成するまで 連携はできない (ファイルの静止点) ・リアルタイムな連携は苦手 ・同期処理は苦手 API連携 ・リアルタイム連携が可能 ・同期処理が可能 ・大容量通信は苦手 ・非同期処理は苦手 メッセージキュー ・意図した順番を維持して 処理してもらえる ・非同期処理が可能 ・大容量通信は苦手 ・リアルタイムな連携は苦手 ・同期処理は苦手
14 Customer Success, IBM Technology, Japan / © 2023 IBM
Corporation 本日のアジェンダ 1 .システム間連携とは 2 .MQとは 3 .デモ 4 .まとめ
15 Customer Success, IBM Technology, Japan / © 2023 IBM
Corporation MQとは B 1 2 3 4 5 システム A システム B たくさんの言語、プラットフォーム(特にメインフレーム)をサポート https://ibm.github.io/japan-technology/Code-Articles/mq-fundamentals/ チャンネル キュー メッセージ キューマネージャー
16 Customer Success, IBM Technology, Japan / © 2023 IBM
Corporation システム間連携とは システム間連携(一般的なメリット/デメリット+MQ) メリット デメリット ファイル連携 ・大容量通信可能 ・非同期処理が可能 ・ファイル生成するまで 連携はできない (ファイルの静止点) ・リアルタイムな連携は苦手 ・同期処理は苦手 API連携 ・リアルタイム連携が可能 ・同期処理が可能 ・大容量通信は苦手 ・非同期処理は苦手 メッセージキュー ・意図した順番を維持して 処理してもらえる ・非同期処理が可能 ・大容量通信は苦手 ・リアルタイムな連携は苦手 ・同期処理は苦手 MQ ・大容量通信可能 ・リアルタイム連携可能 ・意図した順番を維持して処理 苦手はない
課題・背景 • クラウドやデバイスの普及によりシステム負荷が増大 • UXの追求でより短い待ち時間が必要になる • 無停止運用(24/365)の導入 • 運用負荷の観点でサーバーの水平拡張が限界に 解決策
• IBM MQを活用した非同期連携基盤を導入 • フロントと基幹システムの間を非同期化することで 基幹システム停止中もフロントのシステムを 稼働できるように実現 効果 • 大幅なサーバー増強無しに負荷の増大に対応 • アプリケーションのUX向上 • 基幹システムの停止が可能になり運用負荷の大幅な低 減 フロント・システム 基幹システム MQによりフロントと 基幹の連携を非同期化 クラウド上の アプリケーション MQ システム間連携とは? 従来のシステム構成 フロント・システム 基幹システム ・週1回の定期保守時にシステムを 停止している ・安定稼働しているのであまり変更 したくない 非同期連携を活用したシステム
18 Customer Success, IBM Technology, Japan / © 2023 IBM
Corporation 本日のアジェンダ 1 .システム間連携とは 2 .MQとは 3 .デモ 4 .まとめ
19 Customer Success, IBM Technology, Japan / © 2023 IBM
Corporation FIFO MQサーバー システム A システム B システム構成図 コンテナ 9443 ポート 9443 ポート Hello MQ!! デモ
20 Customer Success, IBM Technology, Japan / © 2023 IBM
Corporation デモ Qiitaにて手順公開中(CPUがIntel、s390x限定) https://qiita.com/nmzstation45/items/704f09aead1db3373cef
21 Customer Success, IBM Technology, Japan / © 2023 IBM
Corporation デモ ※CPUがM1、M2チップ版はこちら ⇒コンテナイメージ作成から実施する必要があります https://github.com/ibm-messaging/mq-container/blob/master/docs/building.md
22 Customer Success, IBM Technology, Japan / © 2023 IBM
Corporation デモ ・podmanコンテナを起動 ・MQ Webコンソールの確認 ・REST APIでメッセージ送信 ・MQ Webコンソールでメッセージを確認(受信確認) ・REST APIでメッセージ受信 ・MQ Webコンソールでメッセージを確認(削除) デモ手順
23 Customer Success, IBM Technology, Japan / © 2023 IBM
Corporation 本日のアジェンダ 1 .システム間連携とは 2 .MQとは 3 .デモ 4 .まとめ
24 Customer Success, IBM Technology, Japan / © 2023 IBM
Corporation メッセージキューの基本的な 概念がわかる まとめ
25 Customer Success, IBM Technology, Japan / © 2023 IBM
Corporation まとめ 以下QRコードから質問や要望などあれば。 またアンケートのご協力よろしくお願いいたします!
26 Customer Success, IBM Technology, Japan / © 2023 IBM
Corporation まとめ 1 .システム間連携とは 2 .MQとは 3 .デモ 4 .まとめ こんなサイトも参考に・・・ ▼MQ公式ドキュメント https://www.ibm.com/docs/ja/ibm-mq/9.3 ▼MQの基礎(MQ認定バッジも取得可能) https://ibm.github.io/japan-technology/Code-Articles/mq-fundamentals/
27 Customer Success, IBM Technology, Japan / © 2023 IBM
Corporation いろいろTry&Errorしながら 試してみてください。 ありがとうございました
28 Customer Success, IBM Technology, Japan / © 2023 IBM
Corporation
29 Customer Success, IBM Technology, Japan / © 2023 IBM
Corporation QA タイム