NATS JetStream 스트림 보관 정책 이해하기
· 약 2분
NATS JetStream 스트림이 메시지를 언 제까지 보관하고 언제 지우는지, 그리고 보관 기간을 잘못 잡으면 어떤 일이 생기는지 정리합니다.
스트림 보관 기간(max_age)은 소비자가 메시지를 가져가는 주기보다 넉넉히 길게 잡습니다. 이 값이 짧으면 소비자가 오기 전에 메시지가 만료되어 사라집니다.
분명히 발행했는데 소비 쪽에는 아무것도 도착하지 않는 사고가 대개 여기서 납니다.
JetStream 스트림과 보관 정책(retention policy)
JetStream 스트림은 NATS가 메시지를 디스크에 저장해 두는 저장소입니다. 일반 NATS는 메시지를 흘려보내고 끝이지만, JetStream은 스트림에 쌓아 두고 소비자가 나중에 가져갈 수 있게 합니다.
보관 정책(retention policy)은 이렇게 쌓인 메시지를 언제 지울지 정하는 규칙입니다. 모든 메시지를 영원히 둘 수는 없으니 스트림마다 지우는 기준이 필요합니다.
보관 정책 세 가지

NATS JetStream의 보관 정책은 세 가지입니다.
| 정책 | 메시지를 지우는 시점 |
|---|