



단계별 조치 방법
@Lock(LockModeType.*PESSIMISTIC_WRITE*)public interface EventJpaRepository extends JpaRepository<EventJpaEntity, Long> {
@Lock(LockModeType.PESSIMISTIC_WRITE)
Optional<EventJpaEntity> findByPublicId(String eventId);
}


Step 2: 레디스 사용
public boolean checkParticipationPossible(Event event) {
Long currentParticipants = redisTemplate.opsForValue()
.increment(event.getPublicId().toString(), 1);
if (currentParticipants <= event.getMaxParticipants()) {
return true;
}
redisTemplate.opsForValue().decrement(event.getPublicId().toString(), 1);
return false;
}
10만 트래픽 처리
