웹개발10 동기와 비동기, 블로킹과 논블로킹 동기(Synchronous)와 비동기(Asynchronous) 그리고 블로킹(Blocking)과 논블로킹(Non-Blocking)은 소프트웨어 개발, 특히 웹 개발과 관련하여 중요한 개념입니다. 이들은 프로그램의 실행 흐름을 제어하는 데 핵심적인 역할을 합니다. 이해를 돕기 위해 각각의 개념을 자세히 설명하고, 이들이 어떻게 상호 작용하는지 살펴보겠습니다. 1. 동기(Synchronous)와 비동기(Asynchronous) 1.1 동기(Synchronous) 정의: 동기 처리 방식에서는 한 작업이 끝나야 다음 작업이 시작됩니다. 즉, 작업들이 순차적으로 실행되며, 어떤 작업이 수행 중일 때는 다른 작업이 대기 상태에 있어야 합니다. 예시: 웹 서버에서 데이터베이스 쿼리를 동기적으로 실행할 경우, 쿼리가 .. 2023. 12. 27. 소프트웨어 배포 전략 소프트웨어 배포 전략은 애플리케이션을 사용자에게 전달하는 방법을 결정하는 중요한 프로세스입니다. 이 전략은 소프트웨어의 안정성을 보장하고, 사용자 경험을 최적화하며, 배포 과정에서 발생할 수 있는 위험을 최소화하는 데 중요한 역할을 합니다. 블루-그린 배포 (Blue-Green Deployment) 개념: 두 개의 동일한 환경(블루와 그린)을 사용합니다. 한 환경에서는 현재 버전의 애플리케이션이 운영되고, 다른 환경에서는 새 버전이 배포됩니다. 배포가 성공하면 트래픽을 새 환경으로 전환합니다. 장점: 롤백이 쉽고 빠릅니다. 사용자에게 영향을 주지 않고 배포를 진행할 수 있습니다. 단점: 두 배포 환경을 유지해야 하므로 비용이 더 들 수 있습니다. 카나리 배포 (Canary Release) 개념: 새 버전.. 2023. 12. 21. 호스팅 개념과 유형 호스팅이란 웹사이트, 애플리케이션, 서비스를 인터넷에 게시하고 사용자들이 접근 할 수 있도록 하는 서비스를 말합니다. 개인이나 기업이 자체 서버를 구축하고 유지하는 것은 비용과 기술적인 면에서 부담이 될 수 있습니다. 호스팅 서버는 이러한 서버의 공간을 임대해주어, 사용자가 인터넷을 통해 자신의 웹사이트를 운영할 수 있도록 합니다. 호스팅의 기본 개념 웹 서버: 웹 서버는 웹사이트의 모든 파일(HTML, CSS, JavaScript, 이미지 등)과 데이터를 저장하는 컴퓨터입니다. 사용자가 웹 브라우저를 통해 특정 웹사이트를 요청하면, 해당 웹 서버는 요청받은 웹 페이지의 파일을 사용자에게 전송합니다 도메인 이름: 도메인 이름은 인터넷 상의 주소 역할을 합니다. 사용자들이 웹 브라우저에 도메인 이름을 입력.. 2023. 12. 13. 애플리케이션 로드 밸런서와 네트워크 로드 밸런서 애플리케이션 로드 밸런서(Application Load Balancer, ALB)와 네트워크 로드 밸런서(Network Load Balancer, NLB)는 둘 다 트래픽을 여러 서버에 분산시키는 데 사용되지만, 그들이 작동하는 방식과 사용 사례는 서로 다릅니다. 이 두 가지 로드 밸런서를 이해하고 그 차이점을 알아보겠습니다. 애플리케이션 로드 밸런서 (ALB) 계층 7에서 작동: ALB는 OSI 모델의 7계층인 애플리케이션 계층에서 작동합니다. 이는 ALB가 HTTP, HTTPS와 같은 프로토콜을 이해하고, URL 경로나 헤더와 같은 고급 라우팅 결정을 내릴 수 있다는 것을 의미합니다. 콘텐츠 기반 라우팅: ALB는 요청의 내용(예: URL 경로, 호스트 이름, 사용자 지정 헤더)을 기반으로 트래픽을 .. 2023. 12. 12. 이전 1 2 3 다음