본문 바로가기

Architecture3

[Web] 대용량 트래픽 시스템 설계 - 이런 질문을 들었다. Server를 설계할 때 user가 100명이라면 어떻게 만들 것인가? 1000명이라면? 1만명이면? ** AWS의 Auto Scaling 은 고려하지 않는다. (Cost 관리 및 User 증가에 따른 DB의 I/O 속도 감소를 제어 불가) [1~100] - Traffic 을 고려하지 않아도 됨. - 서비스 Application 과 Database를 직접 연결 - 서버 Application 에서 request를 받고, db를 local에 호출하여 결과를 보냄 [100~1K] - 항상 일정한 수의 user가 들어오면 Scale up(수직 확장, 서버 스펙 업그레이드) 을 한다. - 불규칙하게 들어오면 Scale out(수평 확장, 서버 수 증가) 를 한다. - Scale out 을.. 2022. 8. 3.
[Java] JVM 구조(architecture) - [오라클 피셜] Java 응용 프로그램 실행을 지원하는 소프트웨어의 한 측(aspect) - [Javaworld 피셜] Java 프로그램 실행 방법. JVM 설정에 따라 실행하는 프로그램 resource 관리 - 기술 정의 : 코드를 실행하고, 해당 코드에 대해 런타임 환경을 제공하는 소프트웨어 프로그램 사양(specification) - 보통 개발자들이 말하는 JVM은 특정 기기에서 실행 중인 process, 특히 Java 앱에 대한 resource를 대표하고 통제하는 SERVER 를 지칭 (면접에서 이거 물어보는 듯?) - Java 프로그램이 어느 기기, 운영 체제에서도 실행 가능하게 함 ("한번 작성하면, 어디에서나 실행한다") - 프로그램 메모리 관리 최적화 : Heap과 Stack의 메모리 .. 2022. 5. 10.
[How to Coding?] 수준과 가성비에 대해 자신이 목표한 만큼 공부하면 된다. 토비의 spring 처럼 방대하고 지엽적인 내용이 많은 책을 모두 독파하는건 굉--장히 어렵다. 유튜버 '백기선' 분의 말씀처럼 스프링을 쓸 일이 딱히 없다면 이런 프레임워크가 있구나 하고 넘어가면 되고, spring을 자신의 업으로 삼아야한다면 핵심 기술 에 대한 지식은 가지고 가야한다. 그러나 spring의 모든 걸 알 필요는 없고, 그런게 가능하다면 세계 정상급의 개발자들-프레임워크를 만들 사람들이나 가능하리라. '백기선' 분도 spring을 너무 좋아하고 즐겁게 활용하였지만, 이리저리 이직하시며 현직에서는 쓸 일이 별로 없다고 하신다. micro하고 세부적인 걸 공부해도 기억에 잘 남지도 않을 것이라면, 과감히 다른걸 하자. spring의 세부 기능 1가지를 알.. 2022. 1. 26.