전체 글 (784) 썸네일형 리스트형 [대규모 서비스를 지탱하는 기술] 복수 서버로 확장시키기 1) 복수 서버로 확장시키기 - 메모리를 늘려서 전부 캐싱할 수 있다면 좋겠지만, 당연히 데이터를 전부 캐싱할 수 없는 규모가 될 수 있다. 그렇게 되면 어떻게 할 것인가? 여기서 먼저 복수 서버로 확장시키는 방안을 생각해볼 필요가 있다. - AP 서버를 늘려야 하는 이유는 기본적으로 CPU 부하를 낮추고 분산시키기 위해서다. DB 서버를 늘려야 할 때는 반드시 부하 때문만은 아니고, 오히려 캐시 용량을 늘리고자 할 때 혹은 효율을 높이고자 할 때인 경우가 많다. - 따라서 AP 서버를 늘리는 것과 DB 서버를 늘리는 것은 둘 다 서버를 늘리는 것이지만, 필요한 리소스, 요구되는 리소스가 전혀 다르다. DB 서버는 '늘리면 좋다'라는 논리가 들어맞지 않는다. DB 서버를 엄청나게 늘려서.. [네이비씰 승리의 기술] 최악의 상황을 생각하고 움직여야 실패하지 않는다 - "마당엔 사제 폭탄이 매설돼 있고, 집 안에는 기관총 사수가 매복해 있습니다." 정보 장교가 걱정스레 말했다. 우리는 인질 구조 작전 중이었다. 극도로 위험한 임무다. 적을 사살하고 인질을 구해 내야 한다. 이에 대비한 훈련을 받긴 했지만, 실제로 이런 상황을 접하는 경우는 매우 드물다. 그런데 브루저 기동대는 실제 상황에서 임무를 완수할 기회를 맞이했다. 1) 테러 조직에 납치된 이라크 10대 소년 구출 작전 - 이라크 경찰 간부의 조카인 10대 소년이 알카에다와 연계된 테러 조직에 유괴되었다. 테러 조직은 가족들에게 몸값으로 50만 달러를 요구했고, 만약 그 돈을 주지 않으면 소년을 참수하겠다고 협박했다. - 당시 라마디와 안바르주에서 이런 납치와 참수는 흔한 일이었다. .. [RabbitMQ in depth] AMQP의 RPC 프레임 구조 1) AMQP의 RPC 프레임 구조- AMQP 스펙에는 C++, 자바, 파이썬 같은 프로그래밍 언어의 객체 지향 개념과 유사한 클래스와 메소드를 사용하며 클라이언트와 서버 간의 공통 모델인 AMQP 명령이 정의돼 있다. AMQP의 클래스는 기능의 범위를 정의하며 각 클래스에는 서로 다른 작업을 수행하는 메소드가 있다. - 연결 협상 과정에서 RabbitMQ 서버는 프레임으로 마샬링된 Connection.Start 명령을 클라이언트로 전송한다. Connection.Start 명령에는 AMQP 클래스와 메소드라는 두 가지 구성 요소가 있다. - AMQP 스펙에는 많은 명령이 있지만, 대부분의 사람들은 이를 건너뛰고 메시지를 주고받는 명령에 대해서만 알고 싶어하는 경향이 있다. 그러나 Rabb.. 이전 1 ··· 7 8 9 10 11 12 13 ··· 262 다음