IT/Technology

IT/Technology

데이터베이스의 복제 그리고 몽고디비는 어떤 방식인가?

들어가기 전 이전에 Node.js를 사용하여 채팅 애플리케이션을 만들어본 적이 있습니다. 그때는 프로그래밍을 처음 배우기 시작했을 터라 성능보다는 기능을 만들어보는데 집중하여 제작했었습니다. 그래서 이번에는 기능보다는 성능, 보안 쪽으로 포커스를 두고 채팅 애플리케이션을 제작하고 있는 중입니다. 제작 중인 채팅 애플리케이 션은 채팅이라는 특성상 응답 속도가 매우 중요하기 때문에 Redis(민메모리 캐시 서버)와 MongoDB 복제 서버를 구성해 읽기 속도를 개선시켜 보자 합니다. 그래서 오늘 준비한 토픽은 데이터베이스의 복제에 관련돼서 간략하게 설명하고 몽고디비는 어떤 복제 방식을 사용하는지 알아보겠습니다. 데이터 베이스의 복제 1. 복제가 왜 필요한가? 1.1 가용성 증가 어느 시스템이든 장애는 발생합..

IT/Technology

메시지 브로커 [2]

메시지 브로커 [1] 스트림 일괄 처리 시스템은 사전에 일정 크기로 제한함을 가정하에 데이터를 일정 크기만큼 받아 처리하는 방식입니다. 수많은 데이터가 오가는 현재, 매번 단일 처리 하는 방식보다 굉장히 효 pventi.tistory.com 해당 글은 "데이터 중심 애플리케이션 설계"를 보고 정리하였습니다. 1.0 데이터 베이스와 차이점 기능적으로 클라이언트가 서버로부터 저장된 데이터를 불러오는 과정은 데이터베이스와 유사합니다. 하지만 몇 가지 차이점이 있습니다. 1.1 유효 기간 데이터 베이스는 데이터를 직접적으로 삭제하지 않는 이상 데이터를 계속 보관하고있습니다. 반면 메시지 브로커는 소비자(구독자)에게 메시지를 성공적으로 전송했을 경우 브로커 큐에서 메시지를 삭제합니다. 즉, 데이터 베이스처럼 장기..

IT/Technology

메시지 브로커 [1]

스트림 일괄 처리 시스템은 사전에 일정 크기로 제한함을 가정하에 데이터를 일정 크기만큼 받아 처리하는 방식입니다. 수많은 데이터가 오가는 현재, 매번 단일 처리 하는 방식보다 굉장히 효율적인 방식입니다. 하지만 데이터가 처리하기 전까지는 출력 결과를 알 수 없다는 단점이 있습니다. 일괄처리 기준을 기간으로 잡았다면은 정해놓은 기간이 지나지 않으면 반영되지 않는다는 말입니다. 스트림은 시간이 지남에 따라 점직적으로 데이터를 생산합니다. 그렇기에 데이터를 빠르게 처리(갱신)해야하는 시스템에서는 스트림 처리를 통해 이벤트가 발생할 때마다 처리해야합니다. 이벤트를 실시간 처리하기 방법 중 하나로 데이터 스토어를 사용하는 것입니다. 아래 그림을 참고하시면 생성자는 이벤트를 생성 후 데이터 스토어에 기록합니다. 소..

IT/Technology

express, typescript 초기 기본 설정

1. express 설치 npm install express 2. typescript 설치 2.1 typescript 설치 (글로벌) npm install -g typescript 2.2 nodejs(express) x typescript npm install --save-dev typescript ts-node @types/express @types/node ts-node : typescript compiler 없이 직접 실행. 2.3 tsconfig.json 생성 npx tsc --init 3. json 파일 수정 3.1 package.json "scripts": { "build": "tsc -p .", "start": "node dist/main.js", "dev": "nodemon --watch ..

P.Venti
'IT/Technology' 카테고리의 글 목록