Skip lock을 아시나요? (feat: PostgreSQL)
Context테이블에 저장된 데이터를 주기적으로 트랜잭셔널하게 읽어서 처리할 때,어떻게 하면 여러 인스턴스에서 데이터를 race condition을 방지하면서 데이터를 읽어서 처리할 수 있을까요? 예를 들어서 다음과 같은 상황이 있을 수 있습니다.type A struct { publisher EventPublisher}func (a *A) DoSomething(ctx context.Context) { // 어떤 비즈니스 로직 수행 a.publisher.publishEvent(ctx, &Event{}) // event 발행}비즈니스 로직에서 DoSomething메서드를 호출했을 때, 이 이벤트를 구독해서 Outbox 테이블에 기록하는 로직이 있다고 가정해봅시다. type EventListener..
2025.05.30