강사님 Schema에 대해 궁금점이 있습니다.
좋은 강의 감사드립니다.
덕분에 많은 걸 배워서 마음이 든든해 집니다.
그런데, 하나 궁금한 점이 있어서 여쭤보고 싶습니다.
우리 개발자들은 사실 귀찮은 걸 싫어하기 때문에 기술이 나날이 발전해 가는 것이라 생각이 되는데요, 강사님이 설명주신 부분처럼 Schema나 Payload를 계속해서 수동으로 만드는 것은 개발자 입장에서는 매우 비효율적일거라 생각이 됩니다.
따라서, 이미 저 부분을 해결하기 위한 많은 부분들이 고려되었을 것으로 예상이 되는데요, 혹시 저 부분을 편하게 등록할 수 있는 다른 방법이 있을까요? 키워드라도 주시면 찾아서 공부해 나가는데 큰 도움이 될 것 같습니다.
감사합니다.
답변 1
2
안녕하세요, 이도원입니다.
말씀하신 것처럼, Domain 처리를 위한 Business Logic을 구현하는 것 이외에, 다른 부수적인 작업들에 대해서, 개발자들이 번거럽게 생각하는 작업이 꽤 있습니다. 저 또한 그렇고요. 문의하신 내용은 Schema를 위한 자바 클래스 생성에 대한 부분인 것 같습니다. 우선 아파치의 아브로(AVRO) 프래임워크가 대표적일 것 같습니다. 자료형과 프로토콜 정의 등을 위해 JSON을 작성하고 해당 데이터를 직렬화하여 Kafka에서 필요로 하는 스키마에 맞게 메시지를 직렬화/역직렬화가 가능합니다. 아래와 같은 .avsc 파일을 생성 한 다음, 직렬화/역직렬화 처리를 구현하시거나, Confluent의 avro-kafka-connector 또는 아래와 같은 플러그인등을 사용하실 수도 있습니다.
User.avsc 파일 예시
{"namespace": "example.avro", "type": "record", "name": "User", "fields": [ {"name": "name", "type": "string"}, {"name": "favorite_number", "type": ["int", "null"]}, {"name": "favorite_color", "type": ["string", "null"]} ] }
https://github.com/davidmc24/gradle-avro-plugin
https://www.confluent.io/hub/confluentinc/kafka-connect-avro-converter
감사합니다.
kafka 업데이트 강의 듣고 시포요
0
91
2
강의 교안
0
79
2
마이크로서비스간 통신 시, 인증 처리
0
87
2
api gateway 에서 인증 처리
0
66
1
섹션 19 질문드립니다
0
60
2
강의 자료 업데이트
0
87
2
부하분산 강의 섹션
0
59
1
강의자료는 어디에서?
0
77
2
강의 자료는 어디서 다운 받을 수 있나요?
0
114
2
전체 사용자 조회시 오류
0
60
1
혹시 pk 외 별도의 id 를 부여한 이유가 있을까요 ??
0
113
2
학습 방향
0
96
2
카프카 커넥터 사용 목적 문의
0
87
2
kafka 강의
0
109
2
서비스 디스커버리 종류
0
87
2
강의 자료에 대해서 궁금해요
0
119
2
GlobalFilter, LoggingFilter가 동작하지 않습니다.
0
91
2
Kafka Source Connect 버전 에러
0
90
2
소스커넥터는 사용안한 거 맞죠?
0
82
2
강의자료 업데이트 문의
0
97
2
강의에서 BCryptPasswordEncoder 에 역할(5-2)
0
59
1
강의 업데이트 계획이 궁금합니다.
0
114
2
MSA 애플리케이션에 Spring Web과 Spring Data JPA를 사용하는 것이 바람직한지 궁금합니다. (MSA 설계와 관련된 질문입니다)
0
163
2
어떤 것이 업데이트 된 건가요?
0
167
2





