2016-10-24 3 views
2

저는 카프카를 처음 접하고 몇 가지를 사용하는 가장 좋은 방법을 이해하려고합니다. 나는 10 개의 파티션을 가진 주제를 가지고 있으며 kafka 제작자를 사용하여 데이터를 보내고 있습니다. 내 키는 client_id이고 Long 데이터 형식이며 값은 바이트 배열입니다. 그렇다면 LongSerializer을 키 시리얼 라이저 (key.serializer)에 사용해야합니까, 아니면 client_id을 내 코드 자체의 바이트 배열로 변환 한 다음 key.serializer 대신 ByteArraySerializer을 사용해야합니까?LongSerializer와 kafka의 ByteArraySerializer 비교

그럼 을 사용하는 경우와 을 직접 사용하는 경우의 차이점은 무엇입니까? 두 경우 모두 바이트 배열로 변환합니까?

나는 카프카 0.10.0.0 버전을 실행 중입니다.

답변

0

LongSerializer의 serialize 메서드는 long 형식의 정수를 내부적으로 바이트 배열로 변환하는 Long/long 형식의 매개 변수 만 허용합니다. ByteArraySerializer를 사용하는 경우 ByteArraySerializer로 전달하기 전에이 변환을 수행해야합니다.

+0

그래, 내가 이해 한 부분은 기술적으로 두 제품 모두 동일합니다. 'ByteArraySerializer'에서 우리는 그것을 전부 변환해야합니다. 그 외에는 다른 차이점이 없습니다. – john

+0

나는이 두 가지 사이에 다른 명백한 차이점을 보지 못했다. – amethystic

0

다른 점은 제작자의 send()가 Long 및 바이트 배열을 사용하여 ProducerRecord를 사용한다는 것입니다. 어떤면에서는 모두 똑같지 만 일반적으로 ProducerRecord 유형은 사용자 코드가 추가 변환없이 사용하는 것과 일치합니다.