본문 바로가기

분류 전체보기138

고가용성 High Availability이란? 시스템에 장애가 생기더라도 빠르게 복구하는 성질 시스템을 장애 없이(중단 시간 없이) 오랫동안 가용한 상태로 운영할 수 있는 성질 99%의 고가용성 시스템이랑 100시간 운영 시 장애 시간이 1시간 이하임을 의미한다. 장애 허용(Fault Tolerant)과의 차이 - 장애 허용은 장애가 생기더라도 시스템이 이상 없이 동작할 수 있도록 보장하는 특성이고, 고가용성은 빠르게 복구하는 특성이다. - 동일한 개념으로 보기도 하고 혼용하기도 하니 굳이 따지자면 차이 없다고 할 수 있다. 고가용성 구성 방식 Hot Standby - 가장 대중적인 유형 - Active/Passive 또는 Active/Standby 형태로 가동 시스템과 백업 시스템으로 구성 Mutual Takeover - 2개의 시스템이 각각 고유.. 2022. 2. 16.
Load Balancer란? / L4 load balancer, L7 load balancer Load Balancer(로드밸런서) 란? 로드밸런서는 서버에 가해지는 부하(로드)를 분산(밸런싱) 해주는 장치 또는 기술이다. 클라이언트와 서버풀(분산 네트워크를 구성하는 서버들의 그룹) 사이에 위치하며 한 대의 서버로 부하가 집중되지 않도록 트래픽을 관리해 각각의 서버가 최적의 퍼포먼스를 낼 수 있도록 한다. Scale-out 방식으로 서버를 증설하기로 결정했다면 여러 대의 서버로 트래픽을 균등하게 분사해주는 로드밸런싱이 반드시 필요하다. OSI 계층에서 상위(7계층 Application Layer)에서 사용되는 장비는 하위 계층의 장비가 갖고 있는 기능을 모두 가지고 있으며, 상위 계층으로 갈수록 더 정교하게 로드밸런싱 할 수 있다. → 즉, L7 Load balancer가 L4 Load balan.. 2022. 2. 15.
Micro Service Architecture(MSA)의 장단점 들어가기 전에 모놀리식 아키텍처(Monolithic Architecture)란? 마이크로서비스 아키텍처의 반대되는 개념으로 전통의 아키텍처를 지칭한다. 하나의 서비스 또는 어플리케이션이 하나의 거대한 아키텍처를 가질때 모놀리식하다고 한다. 특징 내부 의존성이 강하다 구조적인 결합이 강력하게 유지된다. 비즈니스 컴포넌트들이 강한 결합 구조를 지니고 통일성이 있다. 장점 개발 초기 단순한 아키텍처 구조와 개발에 용이하다. 구조가 복잡하지 않다. 쉽게 고가용성 서버 환경을 만들 수 있다.(하나의 프로젝트에 모든 기능들이 들어있기 때문에) End-to-End 테스트가 용이하다 단점 프로젝트의 규모가 커짐에 따라 어플리케이션 구동시간이 늘어나고 빌드, 배포 시간이 길어진다. 작은 수정사항에도 전체를 다시 빌드하고.. 2022. 2. 15.
CI/CD 에 대한 간단 정리 CI/CD : 지속적인 통합과 배포를 통해 애플리케이션 개발 단계를 자동화하여 고객에게 보다 짧은 주기로 서비스를 제공하고 개선하는 방법 CI(Continuous Integration) 지속적인 통합(Continous Intergration)은 개발자가 작업한 코드를 자동으로 테스트하고 테스트에 통과하면 코드를 통합하여 저장 지속적인 통합이라는 뜻으로 어플리케이션의 새로운 코드 변경사항이 정기적으로 빌드 및 테스트 되어 공유 레포지토리에 통합되는 것을 의미한다. 이런 경우 CI를 적용하면 좋아요 - 다수의 개발자가 형상관리 툴을 공유하며 사용하는 환경 : 여러 개발자가 한 팀으로 작업하면 공유 레포지토리에 수많은 commit들이 쌓이게 되는데, 그때마다 기능별로 빌드/테스트/병합을 하기엔 번거로우니 자동.. 2022. 2. 14.
3-Tier Architecture 정의 및 구성방식 목차 LIST 3-Tier Architecture of Web Application 이란? "3-tier 아키텍처는 다중 계층 아키텍처에서 가장 널리 사용되며 단일 프레젠테이션 계층, 로직 계층 및 데이터 계층으로 구성된다." 3-tier architecture는 모든 계층이 3개의 논리 계층으로 분할되는 아키텍처 패턴이다. 첫 번째 계층 Presentation Tier(Client) - 일반 사용자가 직접 액세스 할 수 있는 프레젠테이션 계층 콘텐츠를 HTML/JS/CSS 형식으로 브라우저에 전송하는 계층(React, ..) 모든 HTTPS 지원 클라이언트 또는 장치와 통신할 수 있으므로 프레젠테이션 계층은 다양한 형식(데스크톱 어플리케이션, 모바일 앱, 웹페이지, IoT 장치 등)을 유연하게 수행 .. 2022. 2. 13.
[통신] TCP/UDP 가볍게 읽고 기억하기, TCP vs IP TCP / UDP ? 전송 계층(Transport Layer)은 송신자와 수신자를 연결하는 통신 서비스를 제공하고 IP에 의해 전달되는 패킷의 오류를 검사하여 재전송 요구 제어 등을 담당하는 계층이다. 즉, 데이터의 전달을 담당한다. 전송 계층에서 사용하는 전송방식 TCP, UDP TCP(Transmission Control Protocol)? 응용 프로그램과 컴퓨팅 장치가 네트워크를 통해 메시지를 교환할 수 있도록 하는 통신 표준이다. 인터넷을 통해 패킷을 전송하고 네트워크를 통해 데이터와 메시지를 성공적으로 전달하도록 설계되어 있다. 또한, 인터넷의 규칙을 정하는 기본 표준 중 하나로 인터넷 특별 위원회(IEIF)가 정의한 표준 안에 포함된다. 디지털 네트워크 통신에서 가장 일반적으로 사용되는 프로.. 2022. 2. 13.
반응형