はじめに 基盤本部で今後のhacomonoのアーキテクチャ設計をしている @bootjp と申します。 最近はマイクロサービス化に向けての社内共通のイベントバスの設計や基盤周りの設計/実装を行っています。 以前にはこのような記事を書き、分散システムや分散データベース、分散ストレージなどが大好きです。 「Goで作って理解するRaftベースRedis互換KVS」という同人誌も書いています。 もし興味のある方はお手にとってみてください。 さて、今回は分散システムやマイクロサービスで頻繁に用いられるQueueについて焦点を当てた記事を書きます。 とくにマネージドサービスを用いない環境では、RedisでQueueを実装してる方は多いのではないでしょうか? しかし、ナイーブなQueueの実装には罠があり、データロストの危険性があります。 実例とともにデータをロストしないためには何が必要なのかをこの記事