It 41

WS(Web Server)와 WAS(Web Application Server)의 차이

WS(Web Server)정적 콘텐츠 제공: HTML 파일, 이미지, CSS 파일, JavaScript 파일 등 정적 콘텐츠를 클라이언트(웹 브라우저)에게 제공.HTTP 요청 처리: 클라이언트의 HTTP 요청을 받아들여 해당 요청에 맞는 정적 파일을 반환.간단한 요청 처리: 주로 단순한 요청을 처리하며, 복잡한 비즈니스 로직 처리는 하지 않음.Apache HTTP Server, Nginx, Microsoft Internet Information Services (IIS)WAS(Web Application Server)동적 콘텐츠 생성: 클라이언트의 요청에 따라 동적으로 생성되는 콘텐츠(예: 데이터베이스 쿼리 결과 등)를 제공비즈니스 로직 처리: 클라이언트의 요청을 받아 비즈니스 로직을 수행하고, 그 결과..

Web Server 2024.06.10

서버 확장 전략 :: 스케일 업 (Scale-Up) vs 스케일 아웃 (Scale-Out)

서버 자체의 사양 증가 (서버 개수 증가 방식이 아님)장점: 서버 개수가 변하지 않아 관리 및 유지 보수가 상대적 용이단점물리적, 기술적 제한으로 성능 향상에 한계 (용량이나 비용)단일 서버로 구성되어 있기 때문에 해당 서버에 장애가 발생하면 해결 시까지 서비스 중단비슷한 사양의 서버를 여러대 두어 트래픽 분산하는 방식으로 서버 확장장점서버를 추가해 시스템의 확장성이 높음스케일 아웃 후, 로드밸런싱을 통해 성능 향상 가능단점서버의 수가 증가해 관리 및 운영 복잡 가능성데이터의 일관성 유지, 네트워크 대역폭 등 다양한 문제 고려 필요

Web Server 2024.06.05

부하분산, L4 / L7 로드밸런서의 개념 및 차이점

로드밸런서: 트래픽이 몰려 부하가 생겼을 때 이를 여러대의 서버에 분산시켜 트래픽을 조절라운드로빈 (Round Robin): 서버에 들어온 요청을 순서대로 돌아가며 배정하는 방식, 클라이언트의 요청을 순서대로 분배해 서버와의 연결(세션)이 오래 지속되지 않는 경우에 활용하기 적합최소 리스폰타임(Least Response Time Method): 가장 적은 연결 상태와 가장 짧은 응답시간을 보이는 서버에 우선적으로 로드를 배분하는 방식최소 연결 방식(Least Connection Method): 요청이 들어온 시점에 가장 적은 연결상태를 보이는 서버에 우선적으로 트래픽을 배분IP 해시 방식(IP Hash Method): 클라이언트의 IP 주소를 특정 서버로 매핑하여 요청을 처리하는 방법으로 사용자가 항상 ..

Network 2024.05.30

라우팅 프로토콜 (Routing Protocol) vs 라우티드 프로토콜 (Routed Protocol)

라우터 네트워크에서 데이터를 전송하는 장치로, 여러 개의 네트워크 간에 데이터를 전달하고 라우팅하는 역할 두 개 이상의 네트워크를 연결하는데 사용되며, 데이터 패킷의 출발지와 목적지를 확인하고 최적의 경로를 선택하여 데이터를 전송 라우터의 주요 기능 라우팅: 네트워크 상의 경로를 결정하여 데이터를 전달하는 역할 패킷 전달: 패킷이 도착지에 직접 연결된 네트워크에 있는 경우에는 직접 전송하고, 그렇지 않은 경우에는 다음 최적의 경로를 선택하여 전송 패킷 (Packet)네트워크를 통해 전송되는 데이터의 작은 조각 데이터는 패킷이라는 작은 단위로 나누어져 전송되며, 각 패킷은 데이터의 일부분과 함께 목적지 주소, 출발지 주소, 제어 정보 등을 포함이러한 패킷들이 네트워크를 통해 전송되어 최종 목적지에..

Network 2024.05.21

[클라우드 인프라 엔지니어 양성] 세 번째 미니 프로젝트 회고록

인프라 구축 개발회사 서버 구축 자동화 및 CI/CD 프로젝트 기간: 2024년 3월 19일 ~ 2024년 3월 25일 팀원: 박OO, 정OO, 성OO, 이OO, 최OO 프로젝트 목적 요구 사항에 맞춰 구축해야 하는 인프라 생성 작업을 코드를 통한 자동화 및 단순화 Ansible / Terraform / Jenkins 등 CD/CI 도구 사용 방법 탐구 Git을 이용한 작업 내역 공유로 원활한 프로젝트 진행 기술 범위 Shell Script: 요구 사항에 맞춰 Terraform으로 구축할 인프라 선택 과정 코드 생성 및 .tf 파일 생성 AWS Cloud 서비스 기준으로 VPC 관련 terraform 설정 파일 생성 Terraform: Shell Script를 통해 생성된 .tf 파일로 인프라 구축 An..

Git 실습 :: git merge로 브랜치 병합 서비스 이용

1. main 브랜치에서 add-coach 브랜치 내용 병합 admin@DESKTOP-4M8LFU2 MINGW64 ~/Desktop/git-basic (add-coach) $ git switch main Switched to branch 'main' admin@DESKTOP-4M8LFU2 MINGW64 ~/Desktop/git-basic (main) 병합 과정 수행 충돌이 발생하지 않아 자동 병합 진행 main 브랜치에는 add-coach 브랜치의 변경 사항이 병합 새로운 파일 jaguars.yaml과 puma.yaml이 추가 leopards.yaml, panthers.yaml, tigers.yaml 파일에서는 충돌이 없이 자동 병합 admin@DESKTOP-4M8LFU2 MINGW64 ~/Desktop..

Git 2024.05.07

Git 실습 :: 브랜치 생성 및 커밋 적용 후 확인

1. add-coach 브랜치 생성 admin@DESKTOP-4M8LFU2 MINGW64 ~/Desktop/git-basic (main) $ git branch add-coach 표시가 있는 것이 현재 사용 중인 브런치 admin@DESKTOP-4M8LFU2 MINGW64 ~/Desktop/git-basic (main) $ git branch add-coach * main 2. 브런치 변경 admin@DESKTOP-4M8LFU2 MINGW64 ~/Desktop/git-basic (main) $ git switch add-coach Switched to branch 'add-coach' admin@DESKTOP-4M8LFU2 MINGW64 ~/Desktop/git-basic (add-coach) $ git..

Git 2024.05.05

내가 보려고 정리한 파이썬 함수: 정규표현식 (match() / search() / sub() / split())

정규 표현식(re) 문자열을 검색, 추출, 대체하는데 사용되는 강력한 도구 기본 패턴: ^: 문자열의 시작과 매치 $: 문자열의 끝과 매치 문자 클래스: []: 대괄호 안에 있는 어떤 문자와도 매치 예: [abc]는 'a', 'b', 'c' 중 하나와 매치 반복: *: 패턴이 0번 이상 반복 +: 패턴이 1번 이상 반복 ?: 0 또는 1번의 패턴 발생 특수 문자: \: 다음에 오는 특수문자를 일반 문자로 취급 예: \.는 실제 '.' 문자와 매치 특수 문자 클래스: \d: 숫자와 매치 \D: 숫자가 아닌 것과 매치 \w: 숫자 또는 문자와 매치 \W: 숫자 또는 문자가 아닌 것과 매치 \s: 공백 문자와 매치 \S: 공백이 아닌 문자와 매치. 그룹: (): 그룹을 지정하여 그룹 단위로 매치를 수행 예: ..

내가 보려고 정리한 파이썬 함수: type 종류 정리 (숫자형, 문자열, 리스트, 튜플, 딕셔너리)

1. 숫자형 (a=10) 정수형(int): 정수를 뜻하는 자료형 실수형(float): 소수점이 포함된 숫자 내장 함수 기능 int 숫자를 정수형으로 변환 float 숫자를 실수형으로 반환 abs 절대값 round 반올림 divmod 몫과 나머지 2. 문자열(a=’10’) >str로 표현 내장 함수 기능 count 문자 개수 세기 find 문자 위치 찾기 index (rindex) 문자 위치 찾기 join 모든 요소를 연결해 하나의 문자열로 만들어 줌 lower 대문자를 소문자로 변경 upper 소문자를 대문자로 변경 lstrip 공백 지우기 (왼쪽) rstrip 공백 지우기 (오른쪽) strip 문자열 양쪽의 공백 삭제 replace 문자열 바꾸기 split 문자열 나누기 maketrans 문자열을 치환..

[클라우드 인프라 엔지니어 양성] 두 번째 미니 프로젝트 회고록

AWS 클라우드를 이용한 티켓 예매 사이트 구축 프로젝트 기간: 2024년 2월 2일 ~ 2024년 2월 8일 팀원: 정OO , 성O, 최OO 프로젝트 목적 글로벌 인프라 기반으로 빠른 서비스 및 콘텐츠 제공 높은 탄력성으로 신속한 트래픽 증가 대응 AWS가 제공하는 다양한 기능 탐구로 AWS 서비스 이해도 증가 AWS 아키텍처 설계로 아키텍처 구성 능력 증가 기술 범위 다수의 이용자를 포용할 수 있는 서버 구성 CloudFront를 이용한 빠른 콘텐츠 전송으로 원활한 티켓 예매 서비스 제공 고객과 결제 정보, 예매 대상 정보를 데이터베이스 관리 시스템으로 관리 사용자가 지정된 서버에 접속하도록 로드밸런서 기능 이용 특정 시간대에 증가하는 이용자를 효과적으로 관리하기 위해 오토 스케일링 기능 구현 회고록..