Spring/Kafka

태태개발일지(Kafka)

태태코 2023. 8. 7. 10:59
반응형

Kafka에대한 이해?

- 실무에서 사용하게 된다면 3대이상의 kafka 서버를 둘 것이다.

Topic?

하나의 주제, 메세지를 구분하기 위한 kafka의 기본적인 단위

 

ex) producer가 topic1을 통해 발행하면 consumer가 topic1을 통해 받음

 

reflication을 3으로 두어야 좋다. 원본을 복사하겠다. default 1은 복제를 하지 않겠다는 의미.

 

Reader파디션에서만 쓰기 읽기가 일어나고, follow파티션은 Reader파티션에서 에러가 났을경우 대체가 된다.

 

 

Kafka는 하나의 큐저럼 보인다.

메세지를 보내면 큐에서 지워진다.-> 고유의 순서에 따라 저장해나가다가 시간이 지나면 삭제되는 형식으로 이루어진다.

current offset을 통해 현재의 위치를 저장시킨다.

 

server.properties를 통해서 3개의 파티션으로 나누고,

Broker#0 - server.properties

Broker#1 - server1.properties

broker.id=0
listeners=PLAINTEXT://localhost:9092
log.dirs=/tmp/kafka-logs
broker.id=1
listeners=PLAINTEXT://localhost:9093
log.dirs=/tmp/kafka-logs1

Broker#2 - server2.properties

broker.id=2
listeners=PLAINTEXT://localhost:9094
log.dirs=/tmp/kafka-logs2

 

 

% bin/zookeeper-server-start.sh config/zookeeper.properties

새로운 터미널에서

% bin/kafka-server-start.sh config/server.properties &
% bin/kafka-server-start.sh config/server1.properties &
% bin/kafka-server-start.sh config/server2.properties &

새로운 터미널에서 Create a Topic
% bin/kafka-topics.sh --create --to
--bootstrap-server localh

포트를 다 다르게해서 파티션 3개중 하나가 에러났을때를 확인하는 실습 실행 , reader가 달라진다.

 

반응형

'Spring > Kafka' 카테고리의 다른 글

태태개발일지(Kafka)  (0) 2023.08.08
태태개발일지 (Kafka)  (0) 2023.08.06