이럴땐 니들 어떻게 해결하냐?
[%] 아니 니들 동시성 락 걸리는거 경험해본사람있냐?
ㅇㅇㅇ(118.235)
2021-10-14 13:36
추천 0
댓글 15
다른 게시글
-
제트브레인에서 쥬피터 노트북용 ide 내놨다고 하네 [5][%] 익명(39.7) | 21.10.14추천 0
-
코테도 삼성같은 데만 빼면 대체로 진짜 기초만 물어보지 않나 [9][%] 익명(223.38) | 21.10.14추천 0
-
진짜 도움이 된 유튜브영상 있나? [4][%] 어둠의파사..(118.235) | 21.10.14추천 0
-
니들은 개발할때 모든 api에대해 동시성테스트 다 해? [4][%] ㅇㅇㅇ(118.235) | 21.10.14추천 0
-
오늘부터 텐서플로우 라이브러리 클론코딩간다 [4][%] 익명(118.235) | 21.10.14추천 0
-
클론코딩이 나쁜게 아닌데 [3][%] 익명(110.70) | 21.10.14추천 1
-
근데 클론 코딩이 정확히 뭐임 [9][⚠애니짤] 츄럴(118.235) | 21.10.14추천 0
-
역시 JS 가장 큰 문제는 환경설정이다 [12][%] black7375(8.38) | 21.10.14추천 0
-
코테로 지원자 거르는 건 앞으로 더 심해짐 [9][%] 익명(223.39) | 21.10.14추천 0
-
러스트 병렬 컴파일 CPU 사용률 어떰? [4][%] 익명(119.149) | 21.10.14추천 0
데드락? 스핀락?
데드락말하는건데 앱단에서부터 락을 걸었다는전제ㅇㅇ
뇌내 컴파일하다 안되면 gdb로 디버그함. 아쉽게도 ThreadSanitizer는 데드락을 감지하지 못 함
난 스프링 자바쓰는데 디비 데이터 정합성을 동시성에선 다들 어케하나좀 궁금했다
스레드 호출 어떻게 되는지, 코드 다시 "다" 봐야지
여긴 다 c쪽사람밖에없냐
자바는 스레드 안씀? ㅋㅋ
쓰는데 이런주제면 c쪽하는사람들은 다 스레드이야기뿐이안해서..? 디비 트랜잭션 커넥터 하나 요청마다 스레드생길거고 디비하고 같이 이야기를하는게 보통 락관점에서 이야기하니까
ㅇㅎ
디비락이 아마 학식때는 보지도 못하다가 취업하고 나서야 현실로 다가올 문제ㅋㅋ 락을 걸을 메인테이블 정한뒤에 모든 프로세스들은 해당테이블을 락 잡고 시작함. 업데이트 두개테이블 이상 할시에.. 그리고 커밋 찍기전까지 될수 있는한 억세스 순서를 지킴. - dc App
그래 이걸말하는건데 위에는 어플리케이션만 이야기해서.. 락처리를 그냥 mvcc모델로 아예 편하게쓰는곳도있는거같던데 다른데는 어케하나 ..넌 다 어플리케이션에서 락관리를함?
회사가 금융쪽이라서 수백개 프로세스가 동시에 실시간으로 디비 업데이트 하는 빈도가 높아서 그럼 거의 비즈니스 로직 중 일종의 프레임워크처럼 되어있는데 여기서 통제함. 보통 개발자는 이런거 모르고 개발하는데 좀 민감한 로직 짤때는 날 불러서 데드락 신경쓰면서 해야됨. 데드락은 일하면서 딱한번 발생한적있는데 소름돋더라. 그냥 처리하다가 락걸리며 멈추고 가만있다가 dbms에서 강제로 롤백시켜버리는데 이때 네트워크는 이미 응답데이터 뿌렸는데 데이터는 롤백되서 ㅠ 경위서 쓰고 감봉하고 난리났었음. - dc App
오... 싱싱한 경험담
하 ㅋㅋ 감봉이라니 ㅠ 안타깝네,, 지금 작업하면서 업데이트 동시성일어날거같은거를 선정해서 테스트 겁나하는데 다른곳은 어케하는지 좀 궁금했다 말해줘서 ㄱㅅ
태이블 억세스 순서만 지켜도 데드락 방어력 지림. 근데 순서를 지키기 좋은 방법은 프로그램 설계를 잘해서 재사용성을 늘리는거 .. 요즘 api로 마이크로 서비스 많이 하는데 이때 디비 여러개 접근하는 핵심 로직이 파편화되면 안됨. 쥬니어들 요즘 진짜 생각없이 막 해가지고 요즘 겁나 꼰대질하는중 - dc App