Notice
Recent Posts
Recent Comments
Link
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- CDC
- proerty
- mysql
- Python
- docker
- UI for kafka
- freshness
- numpartitions
- Java
- ksql
- kafka
- 모바일
- polars
- 동적 차트
- spring boot
- 도커
- 크롤링
- DBT
- Materializations
- 윈도우
- query history
- airflow
- 파이썬
- bar cahrt
- dbt_project
- 쿠버네티스
- k9s
- KubernetesPodOperator
- spark
- 카프카
Archives
- Today
- Total
데이터 엔지니어 이것저것
Schema Registry 본문
728x90
Schema Registy란?
- 아파치 카프카에서 사용하는 메시지 스키마를 관리하는 것으로,
메시지의 스키마를 저장하고 관리형, 프로듀서와 컨슈머 간의 메시지의 일관성을 유지하기 위해 사용 - 컨플루언트에서 개발도니 오픈소스로, REST API를 통해 스키마를 등록하고 검색
스키마 레지스트리 스키마 호환성 레벨 (SCHEMA REGISTRY SCHEMA COMPATIBILITY LEVEL)
forward
- 새로운 시키마가 기존 스키마에 대해 호환성을 유지
- 새로운 필드를 추가하는 경우 호환성을 보장하지만, 삭제되는 경우 호환성을 보장하지 않는다.
- 컨슈머에서 사용되며, 스키마가 변경되면 최신 버전의 스키마를 사용
backward
- 기존 스키마가 새로운 스키마에 대해 역호환성을 유지
- 새로운 필드가 추가되거나 삭제될 경우 호환성을 보장하지 않는다.
- 프로듀서에서 사용되며, 스키마가 변경되면 스키마 레지스트리에서 해당 버전의 스키마를 찾아 사용
이전 버전의 스키마
{"type": "record", "name": "User", "fields": [{"name": "name", "type": "string"}]}
새로 들어온 스키마
{"type": "record", "name": "User", "fields": [{"name": "name", "type": "string"}, {"name": "age", "type": "int"}]}
이럴 경우 backward에 대한 호환성이 없다
full
- backword, forward 모두 수행
- 대부분의 상황에서 사용
출처 : https://docs.confluent.io/platform/current/schema-registry/fundamentals/avro.html
728x90
'오픈소스 > kafka' 카테고리의 다른 글
CCDAK 후기 (0) | 2023.06.30 |
---|---|
[미완성] 카프카 helm으로 변경 (0) | 2023.05.04 |
kafka-topic.sh 기본 명령어 (0) | 2023.04.13 |
카프카 메시지 순서를 보장 (0) | 2023.03.27 |
Kafka Topic (0) | 2023.01.28 |