1.キャッシュキャッシュ雪崩や質問を貫通
1.1キャッシュの雪崩
説明:キャッシュの無効化と同時に大面積なので、後続の要求は、短時間でデータベース多数の要求に耐え、跳ね返った、データベースに分類されます。
ソリューション:
ローカルキャッシュとして純粋なJavaのにehcacheを使用して
リモート分散キャッシュとしてレイズ
キャッシュ速度、キャッシュのパフォーマンスを向上させる、のRedisキャッシュ圧力を解きます。
そしてRedisの違いEhcacheのキャッシュ
ehcacheを持つ単一のアプリケーションまたは要求される用途へのキャッシュアクセス、場合。
システムが大きい場合は、展開を分散共有キャッシュは、そこにある、大きなキャッシュの内容は、Redisのを示唆しました。
実用的な作業Ehcacheのを使用して
、我々はこのプロジェクトで、集中キャッシュ(Redisのか、Memcachedのタイプなど)を使用し、通常はキャッシュがあるかどうかを調べるため
、直接のリターンがあれば、それはデータベース内に存在し、データベース・キャッシュを照会していない場合、データの期待、何らかの理由でキャッシュシステムのダウンタイムのために、サービスに結果は、その後、要求を大量に直接データベースに至るまで、データベースほとんどの圧力が非常に大きいのアクセスであることができない場合は、この時間。
今回は、二次キャッシュ、Redisのサーバーがダウンした場合、あなたはキャッシュehcacheを確認することができますようにehcacheをしましょう。
これは、効果的Kangzhuサーバは、圧力を要求することができます。
このように、一般的なRedisのキャッシュとして、二次キャッシュとしてEhcacheの。
hystrix:
要約:分散システムでは、単一のアプリケーションは、典型的には、様々な外部HTTPサービスに依存して、典型的には、内部RPCサービスの多様に依存して、外部サービスの異なる複数種類に依存します。これらのサービスに依存して、必然的に外部依存関係の問題が発生した場合には、まだ自分のアプリケーションの安定性を確保する方法、異常、タイムアウトなど、失敗した呼び出します。Hystrixの目標は、できるようにすることですときに、1つまたは複数の依存関係の問題、安定したシステムはまだ隔離、制限および降格を含む意味し、実行することができます。
制限サービス:
スレッドプール+キューとして、セマフォを介して。例えば、生成物は、10個のスレッドを処理する最大でき、両方の20スレッドがその存在5つのスレッドが制限されており、最初の10は、他の5つの実行する、それに達した場合、5を処理するキュー遅いレビューキューの中
サービスヒューズ:
アクセスを許可する新しい要求で依存サービスのタイムアウトの数が多いだけでは意味がない場合は、我々は1秒にタイムアウトを設定するなどの既存のリソースの唯一の大胆不敵な消費は、短時間で多数の要求は、1秒であったされている場合応答が、それはサービスが異常があらわれたことを意味し、そのサービスにアクセスするための他の要求を聞かせする必要はありませんが、この時間、あなたは資源のヒューズ回避廃棄物を使用する必要があります
サービス低下:
いわゆる降格は、サービス、サービスはもはや呼ばないであろう時に吹き込まれ、クライアントが独自のローカルフォールバック(フォールバック)コールバックを準備することができ、この時間は、デフォルト値を返します。例えば)インターフェース/キャッシュ/モックデータ:(代替、これを行うには、直接ハングよりも強いレベルの低下が、どのような結果が利用可能であるが、もちろん、これはまた、適切なビジネスシナリオにもよるが
1.2キャッシュの浸透