목록메모리 (2)
dev-sohee 님의 블로그
세션 불일치 문제는 단일 서버 환경에서는 발생하지 않으므로 따로 걱정하지 않아도 됩니다. 하지만, 최근 웹 서비스는 일반적으로 수평 확장된 다중 서버 환경일 것입니다. 이런 다중 서버 환경에서는 세션 불일치 문제가 발생할 수 있습니다. 기본적으로 세션은 서버의 물리적 메모리(RAM)에 저장되기 때문입니다.예를 들어, 서버를 수평적으로 확장하기 위해 A, B, C 총 3대의 서버를 설치했다고 가정하겠습니다. 이때, 클라이언트의 요청이 들어올 때 마다 A → B → C → A … 순서대로 요청을 분산합니다. 이런 환경에서 클라이언트의 로그인 요청이 A 서버로 전달되었습니다. 클라이언트의 세션 정보는 A서버에 생성됩니다. 그리고 직후에 해당 클라이언트의 글 작성 요청이 B 서버로 전달되었다고 합시다. 하지만..
malloc()과 free()는 런타임 도중에 사용할 메모리 공간 할당과 해제를 위한 즉, 동적 메모리 사용을 위한 C언어의 대표적인 함수들입니다. C언어로 개발을 해보신 분들이라면 이 함수들을 봤을 때 인상을 찡그리실 수도 있습니다.malloc()을 사용하는 순간 시스템은 사용하지 않는 메모리를 할당하고 이에 대한 포인터를 리턴합니다. 이것은 프로그램의 실행 지체를 유발하기 때문에 조심해서 사용해야 하는 아주 까다로운 녀석입니다. 그리고 malloc()으로 메모리를 할당한 후에 free()로 해제를 안하면 메모리 누수, 성능 저하의 문제가 발생할 수 있으므로 free()도 꼭 잊지말고 해줘야 합니다. 하지만 자바에서는 이런 고민을 할 필요가 없습니다. 자바의 가비지 컬렉터가 알아서 해주니까요. 이 글..