カオスモンキースプリングブートを使用して、偽のクライアントの遅い応答をテストしています。フォールバックが呼び出され、応答が返されますが、メソッドの実行は続行されます。
logger.info("Get the value from the organization ms {}",Thread.currentThread().getName());
organizationDTO = organizationRemoteData.getRemoteOrgData(organizationId); // 1
logger.info("saving data in cache {} by {}", organizationDTO,Thread.currentThread().getName());
// saving data in redis
cacheOrganizationObject(organizationDTO);
return organizationDTO;
行番号 1 が失敗し、フォールバックが呼び出されますが、ログに「データをキャッシュに保存」が表示されます。この動作により、アプリケーションの一貫性が失われます。回避策はありますか?
ログ:
Get the value from the organization ms hystrix-organizationThreadPool-1
calling fallback method to get the organization data for id 1
saving data in cache OrganizationDTO [] by hystrix-organizationThreadPool-1