개발자

금융권에서는 모든 기능에 동시성 제어하나요?

2024년 06월 30일조회 91

안녕하세요. 금융권에서는 비즈니스 핵심이 돈 관련된거라 데이터 정합성이 중요하다고 생각이듭니다. 그렇다면 모든 기능, 즉 계좌이체같이 금전적으로 오고가는 기능에 있어서 따닥 이슈로 인한 동시성을 예방하기 위해 전부 락을 사용하는지, cas같은걸 사용하는지 궁금합니다

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 0

답변이 없을 때 보이는 아이콘

첫 답변을 기다리고 있어요.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2024년 06월 30일

금융 시스템에서 데이터의 정확성과 일관성은 매우 중요하기 때문에, 대부분의 기능에서는 동시성 제어를 합니다. 그러나 모든 작업에 락(lock)을 사용하는 것은 아닙니다. 락이 과도하게 사용되면 해당 쓰레드나 프로세스가 유효하지 않은 상태에서도 자원을 계속 점유하게 되어 성능 저하를 일으키거나, 교착상태(deadlock) 등의 문제를 유발할 수 있습니다. 따라서 주로 금전적인 거래와 같이 정확한 연산 순서가 필요한 경우, 예를 들어 계좌 이체와 같은 작업에서는 pessimistic locking(비관적 락)과 같은 방식을 사용하여 데이터의 정확성을 보장합니다. 그 외에 데이터베이스 트랜잭션 격리 수준(isolation level), optimistic locking(낙관적 락), compare-and-swap(CAS) 등 다양한 전략과 기술들도 함께 활용됩니다. 이러한 기술들의 선택 및 적용은 개발된 시스템의 특성, 이용자수, 비즈니스 요구사항 등 다양한 요소를 고려하여 결정됩니다.

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!