작성
·
50
답변 2
1
슷파맨님 안녕하세요.
날카로운 질문주셔서 감사합니다.
소스코드를 작성할때 3초를 의도한것이 맞습니다.
보통 시간을 나타내는 파라미터들의 기준이 ms 라 무의식적으로 3000이라고 작성을 하였네요 ㅠㅠ
말씀하신대로 3000초는 너무 길기때문에 보통 비즈니스에서는 3초정도를 많이 사용합니다.
다만, 로직이 오래걸리는 경우에는 시간을 넉넉하게 주어야 합니다!
좋은 질문 주셔서 감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다. 슷파맨님.
네임드락의 timeout 설정과 관련하여 중요한 점은 이 값이 시스템의 특성에 따라 적절하게 설정되어야 한다는 것입니다. 3000초라는 시간은 특정 환경이나 비즈니스 로직에 따라 적절할 수 있지만, 보편적으로는 굉장히 긴 시간으로 볼 수 있습니다.
락의 timeout이 길 경우, 특정 작업이 종료되지 않으면 장시간 동안 다른 프로세스가 락을 기다리게 되어 시스템의 성능에 문제가 생길 수 있습니다. 반대로 너무 짧으면 작업이 완료되기 전에 락이 풀릴 수 있어, 이를 통해 예상치 못한 동시성 문제가 발생할 수 있죠.
높은 timeout 시간은 네트워크의 문제나 불확실한 워크로드에서 임시적인 fail-safe로 작용할 수 있지만, 근본적인 문제 해결은 아닙니다. 대부분의 유스 케이스에서는 짧은 timeout과 함께 재시도 메커니즘이나 다른 패턴을 통해 시스템 안정성을 높이는 방법을 채택합니다.
유사한 질문과 답변으로, 네임드락 timeout 시간은 어느정도가 적당할까요? 게시글을 참고할 수 있습니다. 여기에서는 2~5초가 일반적인 적정치로 언급되며, 각 시스템 상황에 따라 배치가 필요함을 알 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
아 다행이네요.
강의 한번 보고 이해 안되서 강의를 전체적으로 동료에게 설명해주다가 3000초 설정이길래 왜이리 길게 설정됐는지 의아해서 질문드린건데 ㅎㅎ
답변 감사합니다.
좋은 강의 감사합니다.