본문 바로가기

전체 글

(47)
서버에 트래픽이 많아지면 더 좋은 CPU와 램을 쓰면 되는거 아닐까? (Scale Up vs. Scale Out, Load Balancing) 1. 소개AWS로 트래픽이 늘어나는 상황을 가정해 배포를 하다 보니 자연스럽게 로드밸런싱을 사용했었습니다.  예제들을 따라하다 보면 방법론에 치우칠 때가 있는데 왜 하게 되는지 잘 모르는 것 같아서 로드밸런싱이 어떤 건지 설정하는 법 이상의 "왜"에 대해 고민을 해보고 싶었습니다. 로드밸런싱에 대해 고민하다보니까 MSA를 사용하는 많은 이유들이 있겠지만 "이런 이유에서 나중에는 MSA까지 쓰고 싶어지지 않았을까?" 라는 생각이 드는 부분도 생기는 군요. 확실히 요즘은 글로 표현을 하는게 개인적으로 공부도 더 하게 되고 좀 더 깊게 파보게 되는 것 같습니다. 하나씩 풀어가 보겠습니다.  *본 포스트는 사용법에 대해서 다루지 않으려고 합니다. 혹시 필요하신 분들을 위해 사용법은 도움 받은 링크들로 대체하였..
자바, 스프링 내부망 통신 1편: 서버간 통신에 쓰일 라이브러리 1. 소개기본적인 멀티스레드/블록킹 환경에서의 Http 요청에 대해 다루어 보려고 합니다. MSA구조를 배워가면서 스프링 환경에서의 서블릿을 이용한 통신 이외에 자연스럽게 서버간 내부 통신에 대한 니즈가 생겼고 다양한 Http Connection 방법들이 있어서 각자의 특징과 쓰임을 분석해보려고 작성하였습니다.  기술들이 생겨나며 보여지는 특징은 각 기술들의 추상화 수준입니다. 특히 저수준에서 고수준으로 올라가면서 기술의 영역에서 비즈니스 영역으로 차츰 추상화 하는 방식으로 진화해왔습니다.  2.  기술의 진화A. URL Connection:  자바 1.0 초기부터 있었던 가장 기본적인 레벨의 URL Connection입니다. Http로 특정 되지 않았기에 URL의 주소를 FTP등으로 바꾸어 다른 프로토..
JEP 122: 자바 Perm Gen이 사라지고 MetaSpace로 옮겨 집니다. 1. 서론 자바 공식문서 링크: https://openjdk.org/jeps/122 Perm Gen이 자바 8부터 Metaspace영역으로 변경 되어 Native 영역으로 옮겨 졌다는 부분을 공부하는데 static 영역에 관련되서는 GC로 관리된다 또는 Native 영역이라 아니다등 명확한 정답을 얻기 어려웠습니다. 이에 개인적으로 좀 더 조사를 하게 되었고 잊지 않기 위해 기록을 해 보기로 하였습니다.   2. 자바 런타임 메모리 영역A.  스레드관련 메모리: 스레드 영역은 스레드의 시작과 종료를 같이 함으로 메소드나 스레드 호출과 함께 생성 되며 스레드 종료 시 사라집니다.  - Java Stack (자바 스택 프레임) : 지역변수, 매개변수, 메소드 호출정보 (함수 정보), 반환 주소등.- PC R..