私たちがどのようにホストするかについて学ぶことに興味がありますか ORCID レジストリとAPI? 災害発生時の高可用性、スケーラビリティ、およびリカバリにどのように対処するかを知りたいですか? もしそうなら、この投稿はあなたのためです!
毎月XNUMX万ページの閲覧を処理しています ORCID レジストリですが、トラフィックの大部分はAPIであり、現在、月に100億回以上のヒットがあります。 私たちのコア戦略のXNUMXつは、堅牢な情報インフラストラクチャの開発に投資することです。そのため、この使用法をサポートするために使用するテクノロジーが信頼性が高く、安全であると確信する必要があります。
レジストリとウェブサイトの残りの部分 orcid.orgは、世界中に150以上のデータセンターを持つクラウドサービスプロバイダーであるコンテンツ配信ネットワーク(CDN)を介してルーティングされます。 ブラウザがに接続するとき orcid.org、サイトの静的な部分は、より速いロード時間を可能にするために、あなたの近くのローカルデータセンターから提供されます。
CDNには、保護など、その他の便利な機能がいくつかあります。 分散型サービス拒否(DDoS)攻撃、およびハッキングの脅威に対するリアルタイムのセキュリティスキャン。
レジストリページはメインのデータセンターでホストされており、トラフィックはアプリサーバーのクラスター全体で負荷分散され、レジストリデータは暗号化されたファイルシステム上のXNUMXつの強力なデータベースサーバーのクラスターに保存されます。 XNUMXつは更新が行われるマスターデータベースで、XNUMXつはデータのコピーをリアルタイムで受信するレプリカサーバーです。 レプリカサーバーは、レジストリとAPIのほとんどの「読み取り」操作に使用されますが、ホットスタンバイサーバーでもあるため、障害が発生した場合にマスターに昇格できます。
本番システムをサポートする他のさまざまなサーバーがあり、データをシャッフルして検索インデックスを作成し、別のデータセンターに公開データの最新のダンプを保持し、メールリマインダーなどのスケジュールされたタスクを実行します。
データベースをXNUMX日XNUMX回自動的にバックアップし、ダンプを暗号化して、別の大陸にある別のクラウドサービスプロバイダーにプッシュします。これにより、メインのデータセンターで災害が発生した場合に、データベースのバックアップを使用してシステムを復元できます。 このプロセスが一時的なオフラインサーバーを使用して機能していることを定期的にテストします。
これはしっかりした基盤です。 しかしながら、 ORCiD 成長を続けており、研究情報インフラストラクチャの一部としてますます信頼されています。 したがって、コミュニティが引き続き私たちに依存できるようにするために、さらに多くのことを行う必要があります。
何を改善したいですか?
アプリサーバーとデータベースレプリカを複数の場所に配置して、多少長いデータベース復元プロセスに依存したり、最後のバックアップ以降にデータを失ったりする必要がないようにします。 需要が急増した場合に備えて、数時間ではなく数分で新しいサーバーをプロビジョニングできるようにしたいと考えています。
登録、サインイン、承認など、システムの最も重要な部分を分離されたシステムに分離することを検討しています。また、パブリックAPIトラフィックの問題がレジストリAPIとメンバーAPIに影響を与えないようにしたいと考えています。
そして、次のような業界標準のテクノロジーを使用した、より柔軟なアーキテクチャが必要です。 ドッカーコンテナ • Kubernetes、これは上記の改善を行うのに役立ちます。
私たちの計画についてあなたがどう思うか教えてください! あなた自身の組織やあなたが依存している他のサービスとどのように比較しますか? 私たちができる、またはすべきことは他にありますか? あなた自身の経験に基づいて、私たちに何かアドバイスはありますか? お問合せ あなたの入力とフィードバックで!