エンジニア的なネタを毎週書くブログ

東京でWebサービスの開発をしています 【英語版やってみました】http://taichiw-e.hatenablog.com/

非同期処理の成否をクライアントが追いかけるのは良くない

何かのサービスを非同期で実行する場合。

運悪く、サービスダウンなで実行されなかった場合に、どのように検知・リカバリを行うか。

 

サービスダウンによる再送をクライアントにしてもらうのはよろしくないので、

サービス提供側がキューを用意して、再送処理なりなんなり自分でハンドルすべき…

 

と思ったのですが、じゃあキューが落ちてたらどうするの?というところでふりだしに戻る…。

 

やっぱり送信側がハンドルするしかないかな…。

 

キューを冗長化するのはありなのかな。

 

一番厳密にやるなら、あとで付け合わせる方法がベストなんだろうけど、これは密結合になりやすいからあんまりしたくない…