일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 프론트엔드
- 자료구조
- 컨테이너
- 배열
- RxJS
- 자바스크립트
- vue3
- 코딩테스트
- 브라우저
- APOLLO
- 타입스크립트
- 알고리즘
- Machine Learning
- 프로그래머스
- 포인터
- 연결 리스트
- 연결리스트
- 웹팩
- RT scheduling
- pytorch
- 릿코드
- cors
- 프로세스
- 해시테이블
- GraphQL
- alexnet
- 스택
- C
- 큐
- 이진탐색
- Today
- Total
목록BE (6)
프린세스 다이어리
1. 트래픽이 몰렸다, 서버 터졌다는 게 무슨 뜻? 이커머스 사이트에서 유명 공연 티켓팅이 열리거나 할인쿠폰 발급 이벤트를 하게 되면 트래픽이 한꺼번에 몰려 서버가 터졌다는 표현을 많이 한다. 여기서 트래픽이란 사전적인 의미로는 서버와 스위치 등, 네트워크 장치에서 일정 시간 내에 오가는 데이터의 양을 말한다. 웹사이트에 트래픽이 많다는 것은 사용자 접속이 많아서 전송하는 데이터의 양이 많다는 것을 뜻하며, 서버가 터졌다는 말은 이렇게 트래픽이 한꺼번에 너무 몰려 서버에 과부하가 걸려서 웹사이트의 기능에 문제가 생겼다는 뜻이다. 고객센터에 전화 통화량이 많은 상황도 트래픽이 몰렸다고 표현할 수 있고, 새해가 되자마자 메신저가 잠시 먹통이 되는 것도 메신저 서버에 트래픽이 몰렸다고 볼 수 있다. 모두 네트..
1. 쿠버네티스가 무엇인가요? 쿠버네티스란 리눅스 컨테이너 작업을 자동화하는 플랫폼이다. 이전까지 도커 컨테이너 기술이 무엇이고 왜 필요한지 알아보았지만, 현실에서는 웹 애플리케이션에서 수십, 수백 개로 세분화된 컨테이너와 컨테이너화 된 앱이 점점 더 많아지고 복잡성이 증가하게 되면 이 컨테이너들을 어떻게 관리할지 고민이 시작이 된다. 쿠버네티스는 이 컨테이너화 된 개별 애플리케이션들을 배포하고 확장하는 데 도움을 주기 위해, 자동으로 컨테이너를 그룹으로 묶고 적절한 서버에 배포되도록 한다. 여러 컨테이너를 묶은 것을 포드(Pod)라고 하고, 여러 대의 서버에 각 컨테이너를 적절히 배치하고 관리하는 것을 오케스트레이션(Orchestration)이라고 한다. 컨테이너를 관리하는 플랫폼은 이전에도 여러 개가..
도커 이미지는 불변의 내용과 업데이트한 내용이 각각 계층화되어 있다는 점에서 이미지 수정과 운영이 용이하다. 이 때문에 도커 허브에서 다양한 애플리케이션을 내려받아 바로 개발을 할 수 있다는 장점이 생긴다. 도커의 장점과 함께 정리해보았다. 1. 도커 이미지 레이어(layer) 앞서 도커 이미지에 대한 글에서, 도커 이미지란 컨테이너 실행에 필요한 설정값이 포함되어 있는 불변성(immutable)을 가진 기술이라고 언급했다. 도커 이전에도 LXC(리눅스 컨테이너, Linux Container)컨테이너 기술은 있었다. 도커 또한 LXC 기술을 기반으로 발전하였지만, 컨테이너를 실행하는 것 이상의 기능을 제대로 제공하지는 못했다. 컨테이너의 환경을 완전하고 효율적으로 복원하는 기능을 보완하여 이후에는 자체적..
최근 가장 많이 사용되고 있는 가상화 기술은 컨테이너다. 컨테이너를 관리하는 플랫폼 중에서 가장 많이 쓰이고 있는 도커에 대해서 공부해보았다. 1. 도커란? 도커는 컨테이너를 만들고 사용할 수 있도록 도와주는 컨테이너 플랫폼이다. 앞서 알아보았듯 컨테이너란 한 운영체제 여러 애플리케이션을 개별적으로 실행하고 관리하도록 도와주는 기술 중 하나다. 도커는 Cgroups나 Namespace, runC 등의 리눅스 커널이 제공하는 기능 위에 빌드되기 때문에, 독립적인 컨테이너들이 하나의 리눅스 인스턴스 안에서 커널을 공유하며 격리되어 실행할 수 있도록 한다. 여기서 커널이라는 것은 OS가 응용 프로그램을 실행하기 위해 필요한 여러 가지 기능을 제공하는 핵심 프로그램 중 하나다. 정리하면 도커는 한 OS 안에서 ..
가상 머신과 컨테이너는 부팅 속도, 메모리 사용량, 자원의 격리와 쿼터 제한, 호스트 OS 환경에 종속적인지 등에서 차이점이 있다. 1. 가상 머신 vs 컨테이너 기술 장단점 비교 컨테이너는 호스트OS의 커널을 공유하면서 격리된 컴퓨팅 자원을 제공하는 가상화 기술이다. 가상 머신은 하이퍼바이저와 같은 소프트웨어로 하드웨어를 에뮬레이팅 하고, 그 위에 게스트 OS를 설치하는 방식으로 격리된 컴퓨팅 자원을 제공하는 반면, 컨테이너는 호스트 OS만 필요로 하고, 커널을 공유하여 별도의 프로세스가 동작하는 기술이다. 1-1. 부팅 속도 차이 가상머신을 사용하면, 가상 하드웨어를 준비하고 그 위에 게스트 OS를 부팅하는 시간이 오래 걸린다. 반면 컨테이너는 게스트 운영체제라는 개념이 없고, 컨테이너 플랫폼 위에 ..
내가 공부하고 이해한 대로 쉽게 정리한 가상화의 의미와 가상화 기술 종류, 가상머신의 문제점에 대한 내용. 1. 가상화의 의미 가상화는 컴퓨터 리소스를 추상화한다는 광범위한 의미를 가진다. 위키백과에는 "물리적인 컴퓨터 리소스의 특징을 다른 시스템, 응용 프로그램, 최종 사용자들이 리소스와 상호작용하는 방식으로부터 감추는 기술"이라고 정의되고 있다. 물리적 하드웨어는 은폐하고, 사용자에게는 논리적인 리소스를 제공하여 사용자는 실제 컴퓨터처럼 보이는 것을 말한다. 말이 뭔가 막연하고 복잡하지만, 흔히 가상화라는 건 하나의 물리적 리소스 위에서 여러 OS를 동시에 실행할 수 있도록 한다는 의미로 통용되는 듯하다. 옛날옛적 인텔이 개발한 x86 아키텍쳐에서는 한 개의 x86 서버에 1개의 운영체제(Operat..