우리팀의 경우엔 성능상의 이유보단 도메인 분리, 데이터 추적의 목적이 큼.
보통의 운영계 DB는 도메인별로 권한이 나눠져있음. 예를 들어 B도메인의 개발자는 A도메인의 테이블에 대해 접근을 못한다고 보면 됨.
근데, 통계같이 모든 도메인에 대한 접근이 필요한 경우가 있음. 물론 조회만 하면 되긴 하는데, 통계라는 도메인의 특성상 쿼리가 매우 복잡해지고 성능도 안좋음.
이걸 해결하기 위해??(여기부턴 그냥 현업 의사결정임)
통계에 필요한 모든 컬럼을 가진 커먼 테이블을 만들어버림. 여기에 포함된 컬럼만 7-80개야. 일종의 반정규화라고 생각하면 됨.
이게 평상시엔 문제가 없는데 서비스 특성상 데이터 정합성이 깨지는 경우가 있음. 이러면 어디부터 백로그가 발생했는지 추적해야되는데, 반정규화 테이블 특성상 실시간 반영이 아니기 때문에 언제 왜 이런 변경이 이뤄진건지 추적이 힘듦.
이런 문제를 해결하기 위해서도 MSA를 도입할 수 있는거야.
커먼 테이블에 강하게 묶이는 대신 인터페이스로 값을 받는다면 데이터 로깅도 쉽고, 변경 주체도 명확해지니까.
별 이유없이 오버엔지니어링이니 말하지마라. 필요한 경우가 있으니까 나온거지
학부취준중소si갤러리인데 오버엔지니어링 맞음 기본cs나 똑바로해야지
문제를 만들어놓고 해결하기위해 병신방법을쓰네 ㅋㅋ 같은 회사인데 운영하는데 도메인 별로 권한을 나눴어? 팀킬하냐? ㅋㅋㅋ - dc App
동일 DB에 서버만 분리한걸 MSA라하는 병신은 아니겠지. MSA나 아니나 어차피 통계목적이면 모든 도메인에 코드 침범이 되는건 변할바가 없는데 뭔 로깅 스킬이 부족하니까 빈대잡는데 초가삼간 다 태우노 - dc App
이런 ㅂㅅ같은 말들을 커뮤에서 걸러야되는거임 ㅇㅇ 테이블만 거의 천개인데 사용자별로 권한을 나눠야 관리가 되지 다른 도메인이 타 도메인 테이블을 임의로 변경하면 변경관리가 이루어질거같냐??
그리고 db를 분리해야되는것도 맞는데, 24시간 운영환경에선 제약조건이 많고 공수가 많이 들어서 힘들다 ㅇㅇ 현업에서의 여러조건을 따져봐야 되는거고, 실제로 레거시 프로젝트에선 도메인 분리목적으로 서버만 나누는경우 많아. 우리팀도 그렇게 하고 있고. 백날천날 이론만 들이밀지말고 알고 씨부리자
누가 서버만 나누는게 틀렸댔노? 서버랑 디비만 딸깍나누고 MSA 이지랄하는게 웃긴거지. 그리고 로깅이니까 딸깍딸깍하지 서버간 트랜잭션 다 고려 하고 있겠냐 - dc App
뭐지 우리회사냐
그럼 여러 서버에서 같은 DB 참조하는 구조임?
A서버 - A DB B서버 - B DB 로그 서버 - C DB 이렇게 해놔야 MSA라고 부를만한거 아님?
너 취준생이지? msa 놓고 공부나 하러가라
Msa몰라
서비스나누고 db나눈다 정도만 알고있음
니미씨발 그기왜msa야
msa 뭔지도 모르면서 자꾸 이런 병신새끼들이 필요하면 쓰는거라고 개소리하니까 msa가 욕을 쳐먹는거임 필요하면 쓰는거 맞는데 느그가 쓰는건 msa가 아니고 느그는 필요할때가 언제인지도 모르는 병신들이란다
이게 왜 MSA노
DB 쪼개놓고 뭔 msa 타령하노