프로젝트를 진행하다가 @Data의 위험성을 느껴 공부한 내용을 정리하고자 합니다. @Data 어노테이션이란❓@Data는 Lombok 라이브러리에서 제공하는 어노테이션으로, Java 클래스에 대해 다양한 메서드를 자동으로 생성해 주는 기능을 제공합니다. @Data 어노테이션을 사용하면, 다음과 같은 메서드들이 자동으로 생성됩니다.1. Getter 메서드클래스의 모든 필드에 대해 get 접두사가 붙은 메서드를 생성합니다.예를 들어, private String name;이라는 필드가 있으면, getName() 메서드가 생성됩니다.2. Setter 메서드클래스의 모든 필드에 대해 set 접두사가 붙은 메서드를 생성합니다.예를 들어, private String name;이라는 필드가 있으면, setName(Str..
TIL,일일 회고
이번 포스팅은 gitignore에 대해 공부한 지식을 정리하는 글입니다. MSA 프로젝트 아키텍처 MSA 과제를 시작했습니다. 프로젝트 아키텍처는 위 그림과 같으며, 현재 Gateway와 Product(19093, 19094)를 Eureka 서버에 연결한 상태입니다. Auth App을 연결하기 전에, 이전에 근무하던 회사의 사수가 'Commit은 수시로 하는 것이 아니라 의미 있는 단위로 해야 한다'라고 했던 말이 떠올랐습니다. 그래서 Auth App을 연결하기 전에, 현재까지 진행한 작업을 의미 있는 단위로 Commit을 했습니다. 현재 프로젝트 구조는 위와 같이 MSA_exam_1라는 폴더 아래에 형성되어 있습니다. 근데 auth App을 연결하고 Commit을 보니깐 폴더 형식이 아닌 각각의 파일을..
이번 포스팅은 Spring Cloud Stream에 대해 공부한 지식을 정리하는 글입니다. Spring Cloud Stream이란❓Spring Cloud Stream은 마이크로서비스 아키텍처에(MSA)서 메시징 시스템을 쉽게 다루기 위한 Spring의 프로젝트입니다. 이 프로젝트는 이벤트 기반 아키텍처를 구축할 때 Kafka, RabbitMQ 등의 메시지 브로커와의 통합을 단순화하고, 메시지 기반의 애플리케이션을 구축할 때 유용한 도구와 기능을 제공합니다. Spring Cloud Stream의 주요 개념과 기능은 다음과 같습니다. 1. 추상화된 메시징 클라이언트Spring Cloud Stream은 다양한 메시징 브로커(예: RabbitMQ, Kafka)에 대한 추상화 계층을 제공하여, 특정 브로커에 종속..
마이크로서비스 아키텍처(MSA)에서 애플리케이션은 여러 개의 독립적인 서비스로 분리된다는 것을 알고 있습니다. 각 서비스는 독립적인 배포, 확장, 유지보수가 가능하다는 장점이 있지만 이로 인해 설정 관리의 복잡성이 증가한다는 단점이 있습니다. 각 서비스는 자체적인 설정 파일 application.yml을 사용하여 다양한 의존성 설정과 구성 정보를 관리합니다. 이러한 설정 파일에는 데이터베이스 연결 정보, 서버 포트 번호, 외부 API 키 등 중요한 설정 정보가 포함됩니다. 서비스가 많아질수록 각 서비스의 설정을 관리하는 것은 점점 더 복잡해집니다. 또한 서비스에 필요한 설정 정보나 데이터가 변경될 필요가 있을 때, 이 설정 파일을 수정하려면 해당 서비스를 다시 배포하거나 서버를 재시작해야 합니다. 이..