대형 온라인 응용 프로그램의 경우 k8s를 사용하여 실행하십시오. 규모는 일일 활동 사용자 500,000 일 수 있습니다.Kubernetes에서 Kafka를 사용하는 것이 좋은 방법입니까?
K8S 내부의 응용 프로그램은 메시징 기능을 필요 - 펍/하위를가 이러한 옵션은 다음과 같습니다
- 카프카
- RabbitMQ
- 레디 스는
카프카
그것은 사육사가 필요 os에서 실행하는 것이 디스크 I/O에 달려 있습니다. 그래서 k8s 클러스터에 설치한다면 어떻게 될까요? 성능이 떨어질까요?
k8ka 클러스터 외부에 Kafka를 유지하려면 k8s 클러스터 내부의 응용 프로그램에서 Kafka를 연결하십시오. 그 성능은 어떻습니까? 그들은 다른 층에 있고 천천히 움직이지 않을 것입니까?
RabbitMQ
그것은 카프카보다 느린,하지만 매일 활동 사용자 50 만 응용 프로그램에 대한, 그것은 충분? 그렇다면 좋은 선택 일 수도 있습니다.
redis
다른 옵션입니다. 어쩌면 가장 간단한 것일 수도 있습니다. 하지만 인터넷에서 가끔 메시지를 잃을 수도 있습니다. 사실이라면 그건 끔찍한 일입니다.
그래서, 가장 중요한 것은 인이 사용 사례에 좋은 여부, K8S에 (도 사육사와 함께) 카프카를 사용할 수 있습니까?
답변 해 주셔서 감사합니다. 내가 물어 보았을 때, 순수 OS를 사용하는 것과 동일한 성능과 도커를 사용하는 k8의 성능이 비슷합니까? – online
kubernetes에는 항상 오버 헤드가 있다고 생각합니다. 나는 그것을 벤치마킹하지 않았지만 kubernetes는 오버 헤드가 있다고 읽었습니다. 나는 그것을 google 할 것이다. 개인적으로는,하지만 오버 헤드가 편리함을 감안할 때 떨어지지 않을 수 있음을 알았습니다. –
Kafka Streams도 멋지다. –