今日のGoogleの停電がウェブ全体に及ぼす影響を見て、これを今後どのように防止するか考えています。これは愚かな質問かもしれませんが、APIが利用できない場合は、インクルードするページにまだ兵士がいなくてもよいように、外部API(例:GoogleのAJAXライブラリ)を含めるための良い方法がありますか?一般的に外部サーバーでホストされているライブラリを使用することは、一般的には悪い考えですか?API停止からサイトを保護するにはどうすればよいですか?
答えて
スクリプトタグを使用してドメイン間のJavasScriptファイルをロードすることは避けられません(これがダウンするとタイムアウトになります)。ただし、コード内では、エラーを回避するためにヌルであるAPIオブジェクトを確認してください。
など。代わりに:
<script type="text/javascript">
google.load("maps", "2");
// Use Maps API
</script>
使用:
<script type="text/javascript">
if(google != null)
{
google.load("maps", "2");
// Use Maps API
}
else
{
// Fallback
}
</script>
私は希少な停電が外部APIの卸売を拒絶する価値があるとは思いません。
ウェブ上で第三者のライブラリにアクセスする必要があります。あなた自身に尋ねる必要がある質問は、これがどれくらい必要なのか、そしてどれをキャッシュすることができるかということです。
可能な限り100%に近い稼働時間が必要な場合は、これらのサードパーティーにどれくらい依存しているかを見てください。
あなたが取得しているのは1時間に1回の天気ですが、おそらくそれがキャッシュされていても問題は発生しません。第三者にそのミリ秒間だけ有効なデータがあるかどうかを尋ねる場合は、おそらくエラーハンドリングを調べてそこにないかもしれないという事実をカバーする必要があります。
質問に対する回答は、あなたの状況の詳細に完全に基づいています。
私は帯域幅を節約するので、外部ライブラリを使用することをお勧めします($$を読む)。しかし、この種のapiの停止に対して保護するのはかなり簡単です。 apiが正常に読み込まれた場合は、サーバーとJavaScriptチェックにコピーを保存してください。サーバーにロードしていない場合。
ここでjQueryとYUIについて考えていました。マッピングのような実際のサービスを使用するときには、他の人が問題について正しいです。
私が与えることができる最高の一般的な答えは、美しく劣化やエラーを送る優雅&避けています。サービスが利用できなくなる可能性がある場合は、そのサービスを期待し、できる限りの仕事をしてください。 B utこれは一般的に答えることができる質問ではないと思います。サイトの内容、使用している外部ライブラリ/ APIなどによって異なります。
古いデータのページを提供するには、何らかのキャッシュを行うことができます。許可されている場合は、独自のサーバーでAPIエンジンを実行できます。あるいは、単にステータスメッセージをユーザーに投げることもできます。
外部APIに頼るのは悪い考えではありませんが、主な欠点の1つは、あなたがそれをほとんど制御できないということです。それが消えたら?大きな問題へようこそ。停止?それほど多くはできませんが、待ってください。
GoogleやローカルWebサーバーを使用してYUI、JQueryなどのライブラリを切り替えてプロバイダを切り替えることができるようにするには、アプリケーションにスイッチを含めることはかなり簡単です。この問題を軽減するための
一つの可能性(自分のサイトが動的に生成されている場合にのみ動作します):
あなたが気にどれだけ依存し、どんな/ 10分ごと/時間を実行しますcronジョブを設定します。あなたが含まれている外部ファイルをダウンロードしようとしましたか、あなたが依存している外部ホストごとに1回試行してください。個々の外部ホストが現在使用可能かどうかを表すフラグをデータベースに設定していますか。
ページが生成されているときは、external-hostフラグをチェックし、外部ホストを指すソース属性を表示するか、アップしている場合はローカルコピーを表示します。
ボーナスポイントの場合、cronjobから正常にダウンロードされたファイルをローカルコピーにしてください。次に、あなたのローカルコピーは、とにかく外部ホストからの最新バージョンを表します。
あなたはアプリケーションを適切に機能を低下させるように設計したいと考えています(他にも述べたように)。実際にはそうすることに役立つデザインパターンがあります。 Proxy Patternが正しく実装されている場合、サービスが利用可能かどうかをチェックし、アプリケーションに適切なデータ、キャッシュされたデータを適切に返すか、サービスが利用できないことをアプリケーションに通知するゲートキーパーとして使用できます。
- 1. Google Maps APIを保護するにはどうすればよいですか?
- 2. HTTrackや他のソフトウェアのリッピングからサイトを保護するにはどうすればよいですか?
- 3. プライベートAPIを保護するにはどうすればいいですか
- 4. APIを不正使用から保護するにはどうすればよいですか?
- 5. AWS APIゲートウェイのURLを不正アクセスから保護するにはどうすればよいですか?
- 6. 保護されたWebサイトからのログイン、ナビゲート、返信はどうすればよいのですか?
- 7. iPhoneでブロブデータを保護するにはどうすればよいですか?
- 8. AIRでコンテンツを保護するにはどうすればよいですか?
- 9. Javaでオーディオを停止するにはどうすればよいですか?
- 10. WindowsでKibanaを停止するにはどうすればよいですか?
- 11. サービスでメディアプレーヤーを停止するにはどうすればよいですか?
- 12. JSONファイルをREST APIなどの方法で保護するにはどうすればよいですか?
- 13. チャートコードを保護するにはどうすればよいですか?
- 14. PHPフォームを保護するにはどうすればよいですか?
- 15. アプリケーションコードを保護するにはどうすればよいですか?
- 16. スパークストリーミングジョブを停止するにはどうすればよいですか?
- 17. Android ProgressBar Circleを停止するにはどうすればよいですか?
- 18. Javaスレッドを停止するにはどうすればよいですか?
- 19. 「ブラックボックス」操作を停止するにはどうすればよいですか?
- 20. ストーリーボードを一時停止するにはどうすればよいですか?
- 21. サービスを停止するにはどうすればよいですか?
- 22. v4l2-ctlストリーミングを停止するにはどうすればよいですか?
- 23. このNSThreadを停止するにはどうすればよいですか?
- 24. 比例イメージスケーリングを停止するにはどうすればよいですか?
- 25. マルチスレッドを停止するにはどうすればよいですか?
- 26. マインドストームプログラムを停止するにはどうすればよいですか?
- 27. ページのアンロードを停止するにはどうすればよいですか?
- 28. mousemoveを停止するにはどうすればよいですか?
- 29. fabricjs - フォントフォールバックを停止するにはどうすればよいですか?
- 30. アプリケーションのタイムアウトを停止するにはどうすればよいですか?