본문 바로가기

728x90

MQ

(12)
[MQ] 카프카 메시지와 토픽과 파티션 카프카 브로커는 프로듀서로부터 메시지를 전달받고, 다시 이를 컨슈머로 전달하는 역할을 담당합니다. 이번글은 카프카를 통해 흘러가는 메시지에 대해 알아보고, 나아가 카프카의 요소인 토픽과 파티셔너에 대해 개념적으로 살펴봅니다. 카프카의 메시지 카프카의 메시지는 Key(키)와 Value(값)로 구성됩니다. 먼저, 메시지의 키는 해당 메시지가 카프카 브로커 내부에 저장될 때, 저장되는 위치와 관련된 요소입니다. 프로듀서가 메시지를 브로커로 전달할 때, 프로듀서 내부의 파티셔너(Partitioner)가 저장 위치를 결정하는데, 이때 키의 값을 이용하여 연산하고 그 결과에 따라 저장되는 위치를 결정합니다. 메시지의 값은 메시지가 전달하고자 하는 내용물을 의미합니다. 값은 단순한 문자열이 될 수도 있고, JSON이..
[MQ]Windows 환경에 kafka 설치하기 다운로드 (kafka.apache.org/downloads) 및 설치 Kafka 공식 홈페이지에서 다운로드를 받는다. 그리고 다운받은 파일을 적당한 곳에서 압축을 풀어준다. 압축을 풀고 bin\windows 폴더로 진입을 한다. 배치 파일이 많이 보일것이다. 그리고 여기에서 cmd(or powershell)창을 열어준다. kafka 실행 실행을 하기 앞서 이해를 돕기 위한 간단한 개념을 알아야 한다. kafka에서 사용되는 용어들인데 Broker는 kafka의 서버를 뜻하며 동일 노드 내에서 여러개의 Broker를 띄울 수 있다. 그리고 이렇게 분산되어서 여러개의 Broker가 ㅡ띠워져 있으면 이 분산 Message Queue를 관리해주는 역할을 하는 것이 Zookeeper이다. kafka 서버를 띄우기..
[Redis] Redis란? 1. Redis란? Remote Dictionary Server in-memory, key-value 데이터 저장소를 지원하는 오픈 소스 데이터베이스 입니다. Dictionary 라는 이름을 자료구조로 바라보면 특히 자바에서 Hash Table이라고 말할 수 있습니다. 이를 통해서 key-value 데이터를 저장하고 다룬다는것을 유추할 수 있습니다. 오픈 소스 이기때문에 깃허브, 레포지토리를 통해 내부 구현이 어떻게 되어있는지 직접 확인해 볼 수 있고 빠른 속도와 이식성에 강점이 있는 C언어로 구현이 되어 있습니다. 2. Redis특징 in-memory database Redis는 지난 포스팅에서 다룬 in-memory database 특징을 가지고 있습니다. 빠른 응답속도를 위해서 디스크가 아닌 메모리..
[Redis] in-memory database란? in-memory database in-memory는 컴퓨터의 메인 메모리를 의미합니다. database는 컴퓨터의 데이터를 저장할 수 있는 시스템을 말합니다. 메모리를 데이터를 적재하여 활용하는 데이터베이스 시스템을 말합니다. in-memory database 주요 특징 메모리를 데이터베이스로서 사용한다는것은 어떤 의미를 말할까요? 1. Millisecond Response (1ms = 0.001s) 디스크 대비 매우 빠른 응답속도를 보장합수있습니다. ms 단위의 빠른 응답속도를 보장하기 위한 시스템에서 활용하기 적합하며, 대량의 트래픽을 init되는 서비스에서 이용하기 유용합니다. 빠른 속도로 인한 높은 처리량을 제공하기 때문입니다. 2. Volatility of RAM 메모리를 활용하기 때문에 데이..

728x90