목록전체 글 (435)
보라코딩
- RabbitMQ(Message Broker) : exactly once delivery가 기본 정책으로 4번의 핸드 쉐이크로 성능 떨어지는 편(변경가능하나 성능 떨어지지). 소비 개념!! - KafKa(Event Broker) : at most once delivery가 기본정책으로 중복 발생하나 처리량이 높아! 소비가 아니라 토픽 저장소! (위에꼬 강의내용이라 정확) - 래빗엠큐는 ack 3번 날아가고 at least once랑 at most once 두개만 존재함 - 카프카는 consume과 producer의 각각의 delivery 정책(semantic)이 존재하는데 디폴트가 at most once임 - 카프카 스트림즈는 exactly once가 존재하는데 카프카는 없어서 우리는 at least ..

도메인(Domain): 문제 해결을 위해 소프트웨어가 구현하는 특정 비즈니스 영역입니다. 바운디드 컨텍스트(Bounded Context): 특정 도메인의 경계를 정의하는 개념입니다. 바운디드 컨텍스트는 명확한 경계를 가지며, 다른 바운디드 컨텍스트와는 독립적으로 동작합니다. 컨텍스트 맵(Context Map): 시스템 내 여러 바운디드 컨텍스트 간의 관계를 시각적으로 표현한 것입니다. 컨텍스트 맵은 바운디드 컨텍스트 간의 통합, 상호작용 방식을 명확하게 이해하는 데 도움이 됩니다. 애그리게이트(Aggregate): 일관성을 유지하기 위해 함께 관리되어야 하는 도메인 객체들의 그룹입니다. 애그리게이트는 하나의 루트 엔티티(애그리게이트 루트)를 가지며, 이를 통해서만 외부에서 접근할 수 있습..
Lazy 로딩을 사용할 때 N+1 문제가 발생하지 않는 이유 Lazy Loading (지연 로딩) 동작 원리지연 로딩 설정: JPA에서는 연관 관계를 지연 로딩으로 설정할 수 있습니다. 이는 연관된 엔티티를 실제로 사용할 때까지 데이터베이스에서 가져오지 않고, 필요할 때 로딩하는 방식입니다.Proxy 객체 생성: Lazy 로딩이 설정된 연관 관계는 실제 엔티티 대신 프록시(proxy) 객체를 반환합니다. 프록시 객체는 실제 엔티티를 대신하여 필요한 시점에 데이터베이스에서 엔티티를 로딩하는 역할을 합니다.첫 번째 쿼리 실행: 예를 들어, 부모 엔티티를 조회할 때 연관된 자식 엔티티는 초기에 로딩되지 않고, 대신에 해당 자식 엔티티들에 대한 데이터베이스 쿼리가 발생하지 않습니다. 대신, 부모 엔티티의 필드..