본인이 능력이 없다를 돌려 말하는거임


본인의 CS 혹은 능력이 부족해서 


단일 인스턴스 환경이나 다중 인스턴스 환경에서 발생하는 문제들을 캐치해내지 못하기 때문에


MSA로 갈 수밖에 없는 거임 왜? MSA는 대놓고 데이터 동기화나 분산 트랜잭션 같은


문제가 발생하거든 문제가 대놓고 보이기 때문에 실력없는 사람들이 어필하기 좋음


단일 인스턴스나 다중 인스턴스에서 무슨 문제가 발생하냐? 거기서 발생하는 문제를 해결하는게


개발자의 능력이고 실력임 예를 들어 간단하게 SNS에서 이미지 업로드를 구현한다 하면


그냥 재능 없고 생각 없는 얘들은 Multipartfile 쓰고 이미지 업로드 구현 끝!(혹은 S3 쓰고 구현) 끝! 이러고 앉아 있음


이런 수준이니까 실력의 발전이 없고 MSA를 안하면 도저히 다른 사람과 차이를 보이기 힘든거임


간단한 SNS를 이미지 업로드를 구현해도 서버가 3대일 때 하드디스크가 고장 나면 어떻게 하지?


3대에 이미지를 다 저장해야겠구 -> 3대가 같은 가용성 구역이면 여전히 자연재해나 네트워크 혼잡으로 문제가 발생할 수 있으니 가용성 구역을 나눠야겠지? 

-> 파일 다중화로 저장하면 너무 저장 오버헤드가 큰 거 아닌가?(3배의 저장 오버헤드 발생) -> 저장 오헤드가 3배인데 이 저장 오버헤드를 줄여볼 순 없을까? 

->EC(Erasure Coding)을 사용하면 오버헤드를 줄이면서 높은 데이터 내구성을 보장할 수 있구 -> EC를 사용하면 높은 데이터 내구성을 달성한건 좋은데 계산 오버헤드 때문에

읽기 / 쓰기 오버헤드가 발생하네? SNS는 low latency가 중요한 이건 어떻게 해결하는 게 좋을까?


이런 방식으로 문제를 접근하고 해결하는 거임 가령 SNS 이미지 업로드를 예로 설명을 했는데

어떤 주제냐가 중요한 게 아니라 무엇을 해결하느냐가 결국 중요함 어떤 주제라도 상관없이 깊이 있는 고민이 중요함

그래서 맨날 대기가 CS가 중요하다, 단일 인스턴스라도 상관없다 문제 해결 능력이 중요하다 이러는 거야