Skip to Content
AWS上のシステム設計
book

AWS上のシステム設計

by Jayanth Kumar, Mandeep Singh
March 2025
Beginner to intermediate
612 pages
9h 29m
Japanese
O'Reilly Media, Inc.
Content preview from AWS上のシステム設計

第19章. チャットアプリケーションを設計する

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

第6章では、 、ほぼリアルタイムのメッセージングプラットフォームを構築するための、複数のネットワークプロトコルや通信メカニズムについて検討した。メッセージング・アプリケーションは世界中で広く使われている。アプリケーションはWhatsAppやTelegramのようなスタンドアローンの場合もあれば、LinkedInやInstagramのようなソーシャルネットワーキングアプリ内の機能として統合される場合もある。この章では、大規模なメッセージング・アプリケーションを設計し、ほぼリアルタイムで高速なコミュニケーションを提供する方法を学ぶ。また、WhatsAppメッセンジャーのアーキテクチャについても説明する。チャットアプリケーションのシステム要件から始めよう。

システム要件

メッセージング・アプリケーションは、様々な機能をサポートすることができるが、シンプルにするために、限られた機能のセットを構築し、音声やビデオ呼び出しのような機能を省くことにする。これらの質問に答えるために、要件を確定しよう:

アプリケーションはどのようなコミュニケーションをサポートしているか?

このアプリケーションは、1対1のメッセージング、グループ・メッセージング、ブロードキャスト・メッセージングを提供する。ブロードキャストはグループ・メッセージングとは異なり、ブロードキャスト・チャンネルでは一部のユーザのみがメッセージを送信できる。

アプリケーションはどのようなコンテンツをサポートするのか?

このアプリケーションでは、ユーザはテキストメッセージ、画像、ビデオ、ドキュメントを共有することができる。次に生じる疑問は、動画ファイルのサイズに制限があるかどうかだ。大きなメディアのアップロードを避けるため、システムはファイルサイズを100MBに制限している。

アプリケーション側ですべてのメッセージを保存するのか、それともユーザへ配信されたメッセージは削除されるのか?

WhatsAppのように、ユーザにメッセージが届いた時点でサーバからメッセージを削除できるシステムを構築する。

システムは読み取りレシートを含むのか?

ユーザが最後に見たメッセージと、送信されたメッセージの読み取りレシートを反映させることは、良い機能である。読み取りレシートには、アプリケーション・サーバに送信されたメッセージ、ユーザに配信されたメッセージ、ユーザが読み取ったメッセージを含めることができる。

システムはメッセージのエンド・ツー・エンド暗号化をサポートしているか?

暗号化によって、メッセージは送信者と受信者のみが読み取り可能となり、セキュリティが保たれる。暗号化サポートの実装の詳細については省略するが、システムが将来このサポートを提供することになんら制限を受けることはない。

グループやメッセージ・ブロードキャストのメンバー数に制限はあるか?

グループとブロードキャスト・メッセージのメンバーを1,024人に制限する。ブロードキャストチャンネルでは、管理者権限を持つ人だけがメッセージを送ることができ、それ以外の人はメッセージを見ることしかできない。管理者になれる人数に制限は設けない。全員が管理者であれば、ブロードキャストチャンネルは実質的にグループとして動作することに注意。

アプリケーションは、音声通話、ビデオ呼び出し、ユーザとのステータス更新の共有(Instagramのストーリーのような)など、メッセージング以外の機能をサポートしているか? ...
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

ハイパフォーマンスPython

ハイパフォーマンスPython

Micha Gorelick, Ian Ozsvald, 相川 愛三
ウェブAPIの設計

ウェブAPIの設計

Brenda Jin, Saurabh Sahni, Amir Shevat
ハイパフォーマンスPython 第2版

ハイパフォーマンスPython 第2版

Micha Gorelick, Ian Ozsvald, 中山 光樹
Kubernetesで実践するクラウドネイティブDevOps

Kubernetesで実践するクラウドネイティブDevOps

John Arundel, Justin Domingus, 須田 一輝, 渡邉 了介

Publisher Resources

ISBN: 9798341634060