2015-10-29 10 views
6

ときにフェイルオーバーが何であるかを私は春と春のセキュリティを使用して、クライアントが文句を言わない彼らのセッションを失うので(Redisの上でセッションIDを格納可能にするためにRedisHttpSessionConfigurationで春セッション・データのRedisを使用したいのですWebアプリケーションが失敗して別のサーバーに切り替えられたとき)。春のセッション - Redisのは、ダウン

私の質問は、Redisサーバーがダウンしているとどうなりますか? Redisが復旧するまでセッションをメモリに保存することで、Springは動作を継続できますか?これを設定する方法はありますか?

私はAWS ElastiCacheでのRedisを使用していて、交換用のプライマリノードがDNS上に設定される前に、フェールオーバーは数分かかることがあります。

+0

答えはいいえです。 Redisがダウンすると、spring-sesion-data-redisが失敗し、例外がスローされます。誰も実装していないことを知っていますか?バックアップデータをメモリマップに保存していますか? – Berethor

+0

私はここでも同じことを考えていました。これに関するニュースは更新してください。 –

答えて

0

私の知る限り見ることができるように、あなたはCacheErrorHandlerjavadoc)の実装を提供する必要があります。

CachingConfigurerを実装し、errorHandler()メソッドをオーバーライドするConfigurationインスタンスを指定すると、これを行うことができます。例えば

@Configuration 
@Ena1bleCaching 
public class MyApp extends SpringBootServletInitializer implements CachingConfigurer { 

    @Override 
    public CacheErrorHandler errorHandler() { 

    return MyAppCacheErrorHandler(); 
    } 

} 

あなたはその後、中断のないサービスを提供します正確にどのように私には明確ではない - あなたのフェイルオーバー・キャッシュ内の現在のセッションを複製せずに、それは不可能です。

あなたがElasticCacheを使用している場合は、AWSが一つのノードがDOENになった場合、もう一方は引き継ぐことができるように、あなたのために複製セットアップを扱うことは可能ではないでしょうか?

関連する問題