Kafka (2)
카프카 구성
프로듀서 -> 브로커/레플리케이션 -> 컨슈머
컨슈머 Lag
컨슈머 랙 관리? Burrow
브로커3개를 써봐야 카프카를 써봤다고 할 수 있다.
(3개이상의 카프카 브로커로 이루어진 카프카 클러스터를 써봤냐가 관건)
클러스터에서 진가를 발휘 !
실습(2) 과정
1) ec2 서버 3대를 발급받기, 카프카 설치해보기
2) console producer, console consumer 연동해보기
먼저 아파치 카프카를 설치하기 위해
두가지 애플리케이션이 필요하다.
첫번째로는 주키퍼이다. 카프카 관련 정보를 저장한다.
두번째로는 카프카이다.
카프카와 주키퍼 설치 진행
주키퍼 설치
- 주키퍼 설치 (wget 명령어 사용)
- 주키퍼의 압축 풀기
- 주키퍼 앙상블을 구축하기 위해, 각 서버마다 주키퍼 관련 설정을 해줘야한다.
- 각 서버 별로 ip가 아닌 hostname으로 통신하기 위해 /etc/hosts 수정하기
- 주키퍼를 서로 연동하기 위해 방화벽 설정한다. (ec2 보안그룹의 inbound rule과 outbound rule 수정)
주키퍼 포트? 2181 포트, 2888 포트, 3888 포트 사용한다. 3개의 포트에 대해 anywhere 설정해두기
+ 카프카도 쓰기 위해 9092포트도 열어두는 것이 좋다.
- 각 서버에서 주키퍼를 실행한다.
- 주키퍼가 정상적으로 실행되었고, 보안그룹 설정이 잘 적용되었다면, 로컬컴퓨터 주키퍼 cli를 통해 aws에서 실행되는 주키퍼에 연결할 수 있다.
카프카 설치
- wget 명령어를 사용해 2.1.0 설치 (인터넷에서 다운로드)
- 카프카 클러스터를 구성하기 위해 각 브로커별로 카프카 설정을 해야한다.
가장 중요한 broker.id를 서버별로 각기 다른 숫자로 설정한다.
listener와 advertise listener도 설정한다.
아까 실행한 주키퍼의 host name과 port도 넣어주도록 한다.
------------------- 카프카 설정 완료
- 카프카 실행해본다.
- 테스트를 위해 test_log를 만들어본다.
- 만들어진 토픽에 console_producer로 데이터를 넣는다.
- 동시에 console_consumer로 데이터를 확인한다.
aws에 설치한 카프카와 정상적으로 통신하는 것을 확인할 수 있다.
우리가 한 작업?
카프카 클러스터를 멀티 브로커로 구축해보고
local 컴퓨터에서 카프카 클러스터로 연동해보는 작업까지 완료하였다.
3개의 브로커로 이루어진 카프카 클러스터 -> 고 가용성을 유지하고 있다고 말할 수 있음
Confluent
SaaS형 카프카 서비스 제공
카프카 상위 유료버전
클라우드의 종류를 선택할 수 있다.
single available zone
multi available zone
가격 기준?
- 서비스 사용량 기준
- 시간당
웹 대시보드를 통해 이용할 수 있다.