떠먹여주는 Memcached 1

Post on 07-Jul-2015

660 Views

Category:

Software

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

1편에는 Memcached가 등장하지 않는 게 함정;;

Transcript

떠먹여주는 MEMCACHED

토끼 귀모양임;; 그래서 캐릭터가 토끼;;

떠먹여주는 MEMCACHED

많이 보던 고래 !

(트래픽 처리 실패)

이럴 때 해결책?

해결책 1. 서버를 더 산다.

해결책 1. 서버를 더 산다. !

해결책 2. 개발자를 고문한다.

대부분 선택하는 것. !

해결책 2. 개발자를 고문한다.

그래서 나온 것.

일단 배경지식.

컴퓨터에서 가장 느린 것.

배경지식

컴퓨터에서 가장 느린 것.

(하드디스크)

배경지식

컴퓨터에서 가장 느린 것.

-> 병목현상

(하드디스크)

배경지식

서비스에서 병목현상을 만드는 것.

배경지식

서비스에서 병목현상을 만드는 것.

하드디스크를 이용하는 데이터베이스

배경지식

흔한 웹서비스 스택

유저 웹서버 데이터베이스 서버

요청

개발자가 의도한 것.

흔한 웹서비스 스택

요청 요청

개발자가 의도한 것.

흔한 웹서비스 스택

요청 요청

잠깐만 찾는 중..

개발자가 의도한 것.

흔한 웹서비스 스택

요청 요청

아 ㅇㅋ 찾음

옛다

개발자가 의도한 것.

흔한 웹서비스 스택

개발자가 의도한 것.

요청 요청

아 ㅇㅋ 찾음

옛다옛다

흔한 웹서비스 스택

실제 유저가 하는 것.

요청

흔한 웹서비스 스택

요청 요청

잠깐만 찾는 중..

실제 유저가 하는 것.

흔한 웹서비스 스택

요청 요청

잠깐만 찾는 중..

어 왜 안돼?

실제 유저가 하는 것.

흔한 웹서비스 스택

요청

아니 잠깐만..

다시 누름

요청

실제 유저가 하는 것.

요청

요청

흔한 웹서비스 스택

요청

어..어.. 다 찾았어 진짜..

또 누름

요청

요청

실제 유저가 하는 것.

요청

요청

요청

흔한 웹서비스 스택

요청

앙ㅁㅇㄴ럊…

한번 더 누름

요청

요청요청

실제 유저가 하는 것.

요청

요청

요청요청

흔한 웹서비스 스택

내놔

ㅎㅏ..

계속 누름

요청

내놔

요청요청

요청요청

요청

실제 유저가 하는 것.

내놔

요청

내놔

요청요청

요청요청

내놔

* 본 예시는 실제 상황과 다를 수 있음.

흔한 웹서비스 스택

문제 !

대용량의 리퀘스트를 처리할 수 없다.

아까 말한 해결책 설명

해결책 1. 서버를 더 산다

해결책

해결책 1. 서버를 더 산다

해결책 1-1 비싼 서버를 산다.

(Scale up)

8 Core, 3Ghz CPU 64GB MEMORY

해결책 1-2 싼 서버를 많이 산다.

(Scale out)

2 Core, 1.5Ghz CPU 16GB MEMORY

2 Core, 1.5Ghz CPU 16GB MEMORY

2 Core, 1.5Ghz CPU 16GB MEMORY

2 Core, 1.5Ghz CPU 16GB MEMORY

해결책

내놔

요청

내놔

요청요청

요청요청

요청

1.1 비싼 서버

내놔

요청

내놔

요청요청

요청요청

내놔

해결책

내놔

다 찾아주마!

요청

내놔

요청요청

요청요청

요청

내놔

요청

내놔

요청요청

요청요청

내놔

옜따!!!

옜따!!!

옜따!!!

옜따!!!

옜따!!!

옜따!!!

옜따!!!

1.1 비싼 서버

해결책

내놔

요청

내놔

요청요청

요청요청

요청

1-2. 싼 서버’들’

해결책

내놔

요청

내놔

요청요청

요청요청

요청

어.. 니껀 여깄고..

니껀 여기

니껀 여기

울애긔껀 여기~ ( °͡ ʖ͜ °͡)

1-2. 싼 서버’들’

해결책

해결책 2. 개발자를 고문한다.

해결책

개발자를 고문한 웹서비스 스택

유저 웹서버 데이터베이스 서버

캐시서버

해결책

개발자를 고문한 웹서비스 스택

유저 웹서버 데이터베이스 서버

캐시서버

개발자를 고문한 웹서비스 스택

유저 웹서버 데이터베이스 서버

캐시 ; 자주 쓰이는 데이터를 메모리에 저장해둠.

캐시서버

개발자를 고문한 웹서비스 스택

유저 웹서버 데이터베이스 서버

장점 ; !1. 메모리에 저장하기 때문에 빠른 응답 속도 (1ms 이내) 2. 느려터진 데이터베이스까지 접근하지 않아도 됨.

캐시서버

개발자를 고문한 웹서비스 스택

유저 웹서버 데이터베이스 서버

한계 ; !1. 메모리에 저장하기 때문에 저장할 수 있는 데이터가 적음 2. 메모리에 저장하기 때문에 서버가 꺼지면 데이터가 날아감

캐시서버

캐시서버의 장점

유저 웹서버 데이터베이스 서버

요청

캐시서버

해결책

유저 웹서버 데이터베이스 서버

요청 요청

캐시서버의 장점

캐시서버

해결책

유저 웹서버 데이터베이스 서버

요청 요청

있나볼게. 제발 있어라…

캐시서버의 장점

캐시서버

해결책

유저 웹서버 데이터베이스 서버

요청 요청

오 있다. 여기.

응답

오예 한턴 쉰다!

캐시서버의 장점

캐시서버

해결책

유저 웹서버 데이터베이스 서버

요청 요청

응답응답

빠르당!

캐시서버의 장점

캐시서버

해결책

개발자를 고문한 흔한 웹서비스 스택

유저 웹서버 데이터베이스 서버’들’캐시서버’들’

개발자를 고문한 흔한 웹서비스 스택

유저 웹서버 데이터베이스 서버’들’

서버 한대가 고장나더라도 서비스가 지속될 수 있도록 여러 대씩 둔다.

캐시서버’들’

개발자를 고문한 흔한 웹서비스 스택

유저 웹서버 데이터베이스 서버’들’

그럼 어떻게 여러 대의 서버에 요청을 분산시킬까?

캐시서버’들’

개발자를 고문한 흔한 웹서비스 스택

유저 웹서버 데이터베이스 서버’들’캐시서버’들’

Consistent Hashing!

그럼 어떻게 여러 대의 서버에 요청을 분산시킬까?

개발자를 고문한 흔한 웹서비스 스택

유저 웹서버 데이터베이스 서버’들’캐시서버’들’

Consistent Hashing!

그럼 어떻게 여러 대의 서버에 요청을 분산시킬까?

2편에서 계속!

top related