Kinesis Data Stream ?
Producers -> Kinesis Stream -> Consumers 구조로 구성된 것을 확인할 수 있다.
Kinesis Data Stream(KDS)가 Kafka의 Broker 역할을 수행한다.
주요 차이점)
- Partition(Kafka) VS Shard(KDS)
- Kafka에서 Partition은 분산의 기준으로 중요하다. Partition의 Leader들을 통해 데이터가 처리되고 Follower들이 Leader에 접근해 데이터를 복제한다.(Auto-Scaling 유연성이 상대적으로 부족)
- Kinesis에서는 Shard가 데이터 처리 속도의 기준이 되고, 자유롭게 증가/감소를 할 수 있다.(Shard 개수에 따라 비용이 부과된다.)
- Data Size
- Kafka에서는 설정에 의해 들어오는 데이터의 크기를 조절할 수 있다.
- Kinesis에서는 데이터의 크기가 1MB를 넘는 경우에는 사용할 수 없다(조절이 불가하다)
- Monitoring
- Kafka는 추가적인 모니터링 관리가 필요하지만,
- Kinesis의 경우 AWS 서비스에서 모니터링 제공하기 때문에 더 생산성이 높다.(ex) Cloudwatch)
참고 표)
Reference)