inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

Catalogs Microservice - 기능 구현 ①

직렬화에 대한 추가질문

575

Mountain

작성한 질문수 4

3

안녕하세요 강사님. 정성스러운 강의 감사히 잘 듣고 있습니다.
 
해당 강의 질문 내역 중 serializable 인터페이스를 구현한 객체에 대해서 아래와 같이 답변해 주신 것을 확인했습니다.
 
과정에서 특정 클래스에만 직렬화를 한것은 특별한 이유없이 작업된 것 같습니다. CatalogEntity에도 직렬화를 해 주는 것이 좋습니다.
 
위 답변주신 내용을 저는 CatalogEntity와 CatalogDto 객체에는 Serializable이 필요하고, ResponseCatalog는 없어도 된다(?)로 이해했습니다.
 
질문드리고 싶은 것은 아래 2가지 입니다..
 
1. 객체에 serializable의 구현이 필요한 기준은 무엇이 되면 좋을까요 ??
 
2. 현재 강의에서 진행중인 프로젝트에서 serializable을 구현하지 않음으로써 발생할 수 있는 상황이 존재할까요 ??
(CatalogDto에 Serializable을 구현하지 않고 /catalogs 호출까지는 문제(에러)를 직면하지 못했습니다.)
 
부족한 경험으로 인해 직렬화에 대한 개념이 추상적으로만 다가와 어려운 마음에 질문드립니다.
 
감사합니다.

serializable 직렬화 architecture spring-boot spring-cloud JPA msa Kafka

답변 1

1

Dowon Lee

안녕하세요, 이도원입니다. 

자바에서 직렬화는 자바 메모리에 있는 객체를 영속화하거나 네트워크를 통해 다른 쪽으로 전송하는 경우에 바이트 형식으로 데이터를 변환하기 위해 사용합니다. 예를 들어, 네트워크 통신에서 PC난 애플리케이션, 서비스 간에 서로 사용하는 메모리 공간 주소가 다를 수 있습니다. 특히, 참조형 데이터의 경우에 이를 Value Type으로 변환하기 위해 사용한다고 보시면 좋을 것 같습니다. 자바에서 말하는 기본 데이터 타입이 아니라, 클래스 타입은 직렬화를 통해 저장되거나 다른 네트워크로 전송된다고 보시면 될 것 같습니다. 

@RestController는 @Controller + @ResponseBody가 포함된 처리를 하고 있습니다. HttpMessageConvertter를 이용하여 ResponseBody에 자동으로 JSON 형태의 데이터로 변환하여 저장하고 있으며, 프레이워크에서 자동으로 이 부분을 처리해 주고 있어서 Catalogs 작업에는 큰 무리 없이 실행될 수 있습니다. 

감사합니다.

0

Mountain

안녕하세요 강사님. 

"객체를 영속화하거나 네트워크를 통해 다른 쪽으로 전송이 필요한 클래스" 에는 serializable을 붙여주어야 가능하다로 이해했습니다.

직렬화에 대해 조금더 직관적인 이해하는데 도움이 되었습니다. 추가적인 부분은 스스로 학습해보겠습니다.

친절한 답변 감사드립니다 !

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