목록분류 전체보기 (88)
생각해보기

HTTP: 웹의 기초 어떤 종류의 콘텐츠 소스도 리소스이다. 인터넷은 수천가지의 데이터 포멧을 다루기 때문에 HTTP는 식별을 위해 MIME 타입이라는 데이터 포맷 라벨을 붙인다. 웹 서버는 모든 HTTP 객체 데이터에 MIME 타입을 붙인다. 웹 브라우저는 응답 받은 MIME 타입 포맷에 따라 데이터를 디코딩한다 MIME 타입 주 타입(파일의 종류)/부 타입(파일의 형식) 으로 이루어진 문자열 라벨 MIME type text : 텍스트 정보 multipart : 다른 MIME 타입들을 가진 합성된 문서 audio : 오디오 파일 video : 비디오 파일 application : 모든 이진 데이터 전송 * MIME 형식에는 공백, 대/소문자를 구분하지 않으며 대부분 소문자로 쓰입니다. URI : 정보 ..

네트워크 시스템 처리율 제한 장치(rate limiter) 클라이언트 또는 서비스가 보내는 트래픽 제어 장치이다. 사용예시 : 사용자 특정 기간내 API 요청 횟수 제한하여 임계치가 넘어갈 경우 그 이후 호출은 중단되게 한다. 장점 특정 요청을 계속 보내서 공격하는 Dos 공격을 방지할 수 있다. 비용 절감 : 요청 처리를 제한 함으로써 서버의 수를 줄여 비용을 절감 할 수 있다. 서버 과부화 방지 : 트래픽을 조절 함으로써 서버의 과부화를 막을 수 있다 처리율 제한 장치 위치 처리율 제한 장치를 각각 위치에 두었을 때 특징을 말한다 클라이언트 : 클라이언트의 요청은 쉽게 위변조가 가능하고 통제가 어렵기 때문에 비추천 API 서버 : 요청을 API 서버측에서 검증하고 통제한다 미들웨어 : 장치를 클라이언..

파일 운영체제가 컴퓨터 시스템을 편리하게 사용하기 위해 저장 정보를 일관된 논리적 관점으로 제공하는 기능 저장장치의 물리적 특성을 추상화 하여 논리적으로 저장하는 단위이다. 보조저장장체에 기록된 관련 정보의 집합 파일 속성 이름, 식별자, 유형, 위치, 크기, 보호, 타임스탬프, 사용자 식별 모든 파일에 대한 정보는 디렉터리 구조에 의해 유지된다. 디렉터리 항목은 파일 이름과 고유 식별자로 구성된다 파일 연산 생성 파일을 저장할 수 있도록 파일 시스템 내 공간을 찾아야 한다 새로 생성된 항목이 디렉터리에 만들어져야 한다 열기 : 생성과 삭제를 제외한 모든 연산 하기저에 open해야 한다 읽기 : 읽기 위해 파일 핸들과 파일이 읽혀야 할 블록 위치(메모리 내)를 사용하는 시스템 콜 사용한다. 순차적 읽기나..
사용자 수에 따른 규모 확장성 단일 서버 모든 컴포너트가 단 한대의 서버에서 실행되는 간단한 시스템. 웹 앱, 데이터베이스, 캐시 등이 전부 서버 한 대에서 실행한다 사용자 요청 흐름 도메인 서버(DNS) 질의 → IP 주소 획득 → 해당 IP 주소로 Http 요청 전달 → 서버는 요청 반환 http 프로토콜 반환 데이터는 주로 json이 사용된다. (xml 등 사용 가능) step1. 트래픽이 늘 경우 단일 서버로 부족하다. 서버를 사용자 트래픽 처리 용도와 데이터 베이스 용도로 나눈다. 데이터 베이스 서버 관계형 데이터 베이스와 비-관계형 데이터 베이스가 있음 SQL : 테이블, 열, 컬럼으로 표현한다. 데이터를 관계에 따라 조인한다 NOSQL : 키-값 형태, 그래프 저장, 문서 저장등이 있다. 일..

대용량 저장장치 구조 HDD 정보를 플래터상 자기적으로 기록하여 저장하고 플래터의 자기 패턴을 감지하여 정보를 읽는다 플래터 : CD 처럼 생긴 원판 모양 읽기 쓰기 헤드 : 모든 플래터 표면 바로 위에서 움직인다 디스크 암 : 모든 헤더를 한꺼번에 이동시킨다 트랙 : 플래터 표면을 원형으로 나눈다 섹터 : 트랙의 한 부분으로 각 섹터는 크기가 고정되어 가장 작은 전송 단위다. 실린더 : 동일한 암 위치에 있는 트랙의 집합을 말한다 일부 드라이브는 사용하지 않을 때 전원이 꺼지고 I/O 요청을 받으면 회전한다 데이터 전송 시간외에도 데이터 접근 시간이 필요하다(I/O 요청이 느린 이유) 디스크 암을 원하는 실린더로 이동하는 시간(탐색시간) 원하는 섹터가 디스크 헤드 위치까지 회전하는 데 걸리는 시간(회전..
서버 가상화 : 하나의 물리적 서버 호스트에서 여러 개의 서버 운영 체제를 게스트로 실행할 수 있는 소프트웨어 아키텍쳐 서버 가상화를 구현해주는 기술은 하이퍼바이저이다. 하이퍼바이저는 가상화 기술을 통해 여러개 운영체제를 하나의 호스트 os에 생성해서 사용할 수 있게 하는 소프트웨어 하이퍼바이저는 게스트 os들에게 자원을 나누며 조율하고, os들의 커널을 번역해 하드웨어에게 전달한다 가상화의 단점 가상화 작업은 하이퍼바이저를 반드시 거쳐야 한다, 또한 가상머신을 구현하기 위한 커널과 라이브러리를 포함하기 때문에 이미지가 커진다 컨테이너 기반 가상화 프로세스 단위의 격리 환경을 만든다. 컨테이너 안에는 애플리케이션을 구동하는 데 필요한 라이브러리 및 실행 파일 만 존재한다. 컨테이너는 이미지의 목적에 따라..