ラジオの話題05:DBにはある。でも仕事が始まらない
今日の話題:①二つの書き込みの隙間 → ②「後で送る」もDBへ残す → ③送った直後に停止したら。
気になったところから自由に。順番や時間は決めず、話しやすい話題だけ拾って構いません。
1. 二つの書き込みの隙間
Section titled “1. 二つの書き込みの隙間”話を広げるメモ
- 注文を保存した直後、queueへ送る前に停止。
- 送信を先にしたら、問題はなくなる?
小ネタ:dual write
DBとqueueへの別々の書き込みには、片方だけ成功する隙間がある。順番を逆にするだけでは、両方が同時に成立する保証にはならない。
話の芯:停止する場所を、一行ずつずらして考える。
2. 「後で送る」もDBへ残す
Section titled “2. 「後で送る」もDBへ残す”話を広げるメモ
- 注文と送信予定を、同じtransactionで保存する。
- relayが止まっても、再開の手がかりは残る?
小ネタ:transactional outbox
業務データと配送用の記録を同じDB transactionに入れ、relayが後から送る。DB内の二つの保存を揃えられるが、queueへの送信そのものが同じtransactionになるわけではない。
話の芯:仕事の予定を、消えない場所に残す。
3. 送った直後に停止したら
Section titled “3. 送った直後に停止したら”話を広げるメモ
- queueへ送信成功。でも送信済みの更新はまだ。
- 再開後、もう一度送ってよい?
小ネタ:未送信記録の意味
outboxに未送信と残っていても、相手に未到着とは限らない。重複配送を見込み、consumer側で業務IDに基づく冪等処理を考える。
話の芯:送信漏れを減らす仕組みにも、重複への備えがいる。
最後に一言、話すなら
Section titled “最後に一言、話すなら”「この話を、次に調査や設計をするときどう思い出したいか?」
このメモの材料
Section titled “このメモの材料”既存の学習振り返り教材から話題を選び、AIが小ネタとして再構成しました。説明・設計例と、本人の回答・実測の記録は別です。数値例は記載した仮定に基づくもので、本人の本番実績ではありません。
定義の詳細・前提・一次資料・対象版・確認日は元の教材を参照してください。今回の作成では新しい実験・学習評価は行っていません。