개발/Kafka(9)
-
[Kafka] 순서보장 ( Producer 2개와 Consumer 1개 예시 )
Producer가 발생시킨 메세지를 발생한 순서에 따라 Consumer가 얻을 수 있을까??? 구글링해보면 Topic내의 파티션 간에는 순서가 보장되지 않으며, 파티션내에선 순서를 보장한다고 한다. 한번 테스트 해보자. Kafka의 Config 폴더로 이동해서 server.properties를 연다. Kafka에 대한 각종 설정을 할수 있늗네 여기서 num.partitions를 1로 셋팅한다. topic을 생성할 때 기본적으로 셋팅되는 partition 갯수를 1로 셋팅한다는 의미다. sample-topic1 토픽을 생성하고 실제로 partition이 1개 인지 확인한다. 2개의 Producer와 1개의 Consumer를 사용한다. 전체적인 구조는 아래와 같다. 먼저 1번 Producer를 실행해서 아래..
2021.05.05 -
ZooKeeper 살펴보기 ( feat. Kafka 조금... )
설정파일 작성 ZooKeeper를 설치하고 zoo.cfg 설정파일을 작성한다. zoo.cfg 파일은 conf폴더 하위에 작성한다. 총 3대의 서버를 사용한다. 각 서버의 hostname은 zk-server1, zk-server2, zk-server3으로 했다. ( 모든 서버에 zoo.cfg 파일을 작성한다. ) 설정들의 의미를 살펴본다. tickTime client와 연결을 확인하기 위해 주기적으로 client에 연결확인 요청을 보내는데 그 주기를 tickTime이라고 한다. 단위는 밀리세컨드이다. 위에선 2000ms(2초)로 셋팅했다. 셋팅된 시간의 2배를 초과할 경우 세션 timeout이 발생한다. dataDir 메모리 저장된 정보의 스냅샷 또는 트랜잭션 로그 등을 기록하기 위한 경로. clientP..
2021.05.02 -
ZooKeeper와 Kafka 실습1
구조 VMware를 이용해 5대의 서버를 생성했다. 서버 생성에서 문제가 있었는데 현재 PC의 메모리로는 5대까지만 가상머신 생성이 가능했다. 덕분에 ZooKeeper 앙상블은 서버3대를 사용해놓고, Kafka 클러스트에는 서버 1대만 사용할 수 밖에 없었다. ( 다음에는 ZooKeeper를 standalone으로 두고 Kafka를 좀 더 괴롭혀봐야겠다... ㅎ ) 사실 대부분의 테스트 구축에서는 ZooKeeper Server와 Kafka Server를 같은 서버에 두는데 운영과 비슷하게 해보려다 이런 참사(?)가 벌어졌다. 아무튼 서버별 기능을 정리해보자면 아래와 같다. ( 5대 ) 192.168.47.128, 192.168.47.192, 192.168.47.130 서버 3대는 ZooKeeper 서버 ..
2021.04.25