最終更新:
Click to expand / collapse
APIが製品の基礎となり、毎秒数万件の要求を処理し始めるとき、それを水平にスケーリングすることが重要です。これは、サービスを停止せずに新しいインスタンスを追加し、バランサを使用して負荷を分散することを意味します。
柔軟に成長し、あらゆるピーク負荷に耐えるスケーラブルなAPIアーキテクチャを設計および実装します。
水平スケーリングの仕組み
| [コンポーネント] | 何をするのですか? |
|---|---|
| ロードバランサ | APIサーバ間のインバウンドトラフィックを分散(HAProxy、 Nginx、 AWS ELB) |
| APIインスタンス | APIアプリケーション処理要求の独立したコピー |
| 共有データストア | すべてのインスタンスで使用可能な一元化されたデータベースまたはキャッシュ |
| ヘルスチェックデータ自動回復 | インスタンスの可用性と自動リカバリの監視 |
なぜあなたはそれを必要とします
要望が急増した場合の堅牢性
フォールトトレランス-1つのノードの障害がAPI操作に影響しない
アプリケーションロジックを変更せずに幅広いスケーリングをサポート
段階的に更新をロールアウトする機能(ロールアップデート)
動的スケーリングによるコスト最適化
私たちが使用するもの
ロードバランサ: HAProxy、 Nginx、 AWS ELB、 GCPロードバランサー
オーケストレーター: Docker Swarm、 Kubernetes、 ECS
共有状態: Redis、 Memcached、 S3
モニタリング: Prometheus、 Grafana、 Datadog
CI/CD: ロードによる新しいインスタンスの自動ダンプ
重要な場所
金融および銀行のAPI
リアルタイムゲームとストリーミングサービス
販売およびピーク時のEコマース
グローバルカバレッジとGEOディストリビューションを備えた製品