server9 [Server] Spring vs Node.js Spring / Node.js Framework대중적으로 사용하는 백엔드 프레임 워크는 Spring, Node.js 가 있다. 백앤드 개발자 공고를 찾아봐도 Spring 혹은 Node.js 서버 개발 경험을 중요시 여긴다.따라서 두 가지 Framework의 차이점을 이해하고 상황에 맞는 프레임워크를 선택할 필요가 있다. Node.js 먼저 Node.js의 정의를 살펴보면 다음과 같다.Google Chrome의 V8 Javascript 엔진으로 빌드된 Javascript 런타임 쉽게 말하자면 JavaScript를 이용하여 서버를 만들어 줄 수 있는 툴이다.이 전의 Javascript는 스크립트 언어이기 때문에, 특정 웹 브라우저(익스플로어, 크롬, 사파리) 안에서만 동작하였다. 즉, Javascript는.. 2024. 10. 2. [Server] Nginx vs Apache Web ServerWeb Server란 HTTP 프로토콜을 기반으로 클라이언트가 웹 브라우저에서 어떠한 요청을 하면 그 요청을 받아 정적 컨텐츠를 제공하는 서버이다. 정적 컨텐츠란 단순 HTML 문서, CSS, 이미지, 파일 등 즉시 응답 가능한 컨텐츠이다. 이때 웹 서버가 정적 컨텐츠가 아닌 동적 컨텐츠를 요청받으면 WAS에게 해당 요청을 넘겨주고, WAS에서 처리한 결과를 클라이언트에게 전달하는 역할도 해준다. 대표적으로 Apache, Nginx 가 있다.웹 서버와 WAS 서버에 대한 개념과 자세한 차이점은 아래 포스팅을 참고하면 된다. [Server] Web Server / WAS 개념 및 차이점Web ServerWeb Server는 정적인 웹 리소스(HTML, CSS, 이미지 파일 등)를 서비스하.. 2024. 9. 30. [Server] Web Server / WAS 개념 및 차이점 Web ServerWeb Server는 정적인 웹 리소스(HTML, CSS, 이미지 파일 등)를 서비스하는 데 특화된 서버 소프트웨어를 의미한다. 웹 서버는 클라이언트의 HTTP 요청을 받아 해당 요청에 맞는 정적 컨텐츠를 반환한다. 웹 서버는 주로 웹 애플리케이션의 비즈니스 로직을 처리하지 않고, 단순히 클라이언트에게 정적인 웹 페이지를 제공하는 데 사용된다.웹 서버의 주요 기능과 특징은 다음과 같다. 정적 컨텐츠 제공웹 서버는 HTML, CSS, JavaScript, 이미지, 비디오 등과 같은 정적인 웹 리소스를 클라이언트에게 전송한다. 이러한 리소스는 웹 애플리케이션의 비즈니스 로직과 상관없이 변하지 않는 고정된 내용이다.HTTP 요청 처리클라이언트의 HTTP 요청을 받아 해당 요청에 맞는 파일이나.. 2024. 9. 29. [Server] What is Load Balancing? Load Balancing 로드 밸런싱은 애플리케이션을 지원하는 리소스 풀 전체에 네트워크 트래픽을 균등하게 배포하는 방법이다. 최신 애플리케이션은 수백만 명의 사용자를 동시에 처리하고 정확한 텍스트, 비디오, 이미지 및 기타 데이터를 빠르고 안정적인 방식으로 각 사용자에게 반환해야 한다. 이렇게 많은 양의 트래픽을 처리하기 위해 대부분의 애플리케이션에는 데이터가 중복되는 리소스 서버가 많이 존재한다. 로드 밸런서는 사용자와 서버 그룹 사이에 위치하며 보이지 않는 촉진자 역할을 하여 모든 리소스 서버가 동일하게 사용되도록 하는 디바이스이다. 저번 포스트에서 Reverse Proxy에 대해 설명하였는데,Reverse Proxy의 사용 이유에 로드밸런싱을 명시하였다. [Server] Reverse Proxy.. 2024. 9. 26. [Server] Reverse Proxy / Forward Proxy Proxy프록시(Proxy)는 클라이언트와 서버 간의 통신을 중계하는 역할을 하는 서버나 소프트웨어이다.클라이언트는 서버에게 직접 요청을 보내지 않고 프록시를 통해 요청을 보낸다.프록시는 해당 요청을 대신 서버에 전달하여 응답을 받아 클라이언트에게 전송한다.프록시 서버(Proxy Server)는 프록시의 기능을 수행하기 위해 사용되는 서버이다. 즉 프록시(Proxy)는 '대리'라는 의미를 갖고 있으며, 서버와 서버사이의 중계기 역할을 한다고 보면 된다.프록시를 쓰는 이유는 보안상의 이유로 직접 통신할 수 없는 두 점 사이에서 대리로 통신을 수행하여 보안성, 성능, 안정성을 향상하기 위해서이다. 보통 웹은 클라이언트에서 서버로, 서버에서 클라이언트로 통신하며 데이터를 전달한다.이때 필연적으로 중복되는 데이.. 2024. 9. 25. [Server] 상호 배제 알고리즘 - Dekker's Algorithm 병행 프로세스 및 상호 배제운영체제는 복수의 프로세스들을 관리하는 과정에서 여러 문제를 직면하게 된다.그중 가장 큰 문제는 Race Condition( 경쟁 조건 )의 극복이다.이에 대한 자세한 설명 및 여러 동기화 도구들은 아래 포스팅에 나와있다. [Server] Spin lock & Mutex & Semaphore기본 개념Spin lock, Mutex, Semaphore를 이해하기 전 기본적으로 알아야 하는 개념들이 존재한다. 이에 대해 먼저 살펴보면 다음과 같다.Race Condition ( 경쟁 조건 )여러 프로세스/스레드가 동시에 같은kyu-nahc.tistory.com운영체제가 여러 프로세스들을 관리할 때도 Race Condition이 발생할 수 있으며,두 개 이상의 프로세스가 동시에 공유 자.. 2024. 9. 25. 이전 1 2 다음