暗号化 · カスタム開発
9,000 万ユーザーに対応する分散公開鍵サーバー
大規模なメール暗号化システムを開発するソフトウェア会社が、少数のサーバーから始めて、無停止で数百台まで拡張できる公開鍵基盤を必要としていました。現在は 9,000 万ユーザーにサービスを提供しています。
課題
ソフトウェア開発会社が、大規模なメール暗号化システムを構築していました。暗号化されたメールはすべて受信者の公開鍵を必要とするため、鍵サーバーは送信されるすべてのメールの経路上にあります。数千万のユーザー、メール 1 通ごとの鍵の参照、書き込みをはるかに上回る読み取り、そして業務時間中の急激なピーク。
立ち上げ時のコストを抑えるために小さく始められ、ユーザー数の増加に合わせてシームレスにスケールアウトできる公開鍵基盤が必要でした。
行ったこと
- 複数のプライマリデータベース。 それぞれをフェイルオーバー用のスタンバイと、読み取り専用データベースにレプリケーション。
- 独自のシャーディング でデータをプライマリ間に分割。これにより 9,000 万ユーザーまでの性能を確保しました。
- プライマリの無停止追加。 システムが新しいサーバーへ自動的にデータを再配置します。これで毎分 40,000 件の書き込みまで拡張できました。
- 読み取り専用データベースも同様に無停止で追加 し、自動的に再配置。データベースはメモリのみで動作するため極めて高速で、毎分 100 万件以上の読み取りに対応しました。
- ロードバランスされたフロントエンドサーバー で冗長性と拡張性を確保。
- 小さく始められるアーキテクチャ。 少数のサーバーで立ち上げてコストを抑え、同じ設計のまま負荷の増加に合わせて数百台まで拡張できます。
変わったこと
鍵サーバーは小さな構成で稼働を開始し、製品の成長とともに 9,000 万ユーザー、毎分 40,000 件の書き込み、毎分 100 万件以上の読み取りまで拡張しました。容量の追加にメンテナンス時間は必要ありませんでした。