분류 전체보기(131)
-
Kafka(카프카)란?
카프카에 대해서 정리를 하려고 자료를 찾고 있었는데, 정말 정리가 잘된 유투브 영상이 있어서, 영상 공유만 하겠습니다! 이 것보다 정리를 더 잘 할 자신은 없습니다! 1. 카프카란? https://freedeveloper.tistory.com/396 [Apache kafka 조금 아는 척하기] 카프카란? https://www.youtube.com/watch?v=0Ssx7jJJADI&list=PLwouWTPuIjUgr29uSrSkVo8PRmem6HRDE&index=3&t=4s 카프카란? https://kafka.apache.org 고성능 분산 이벤트 스트리밍 플랫폼 Fortune 100개 기업 기준으로 80%.. freedeveloper.tistory.com 2. 카프카 프로듀서 https://freede..
2022.02.07 -
AWS SNS란?
SNS란? AWS Simple Notification Service 로서, Topic 기반의 메시지 브로커입니다. SQS가 큐 기반의 메시지 브로커였다면, SNS는 게시자가 메시지를 토픽에 발행하고 구독자는 관심있는 토픽에 구독합니다. 구독한 토픽에 구독한 모든 구독자들은 메시지를 전달받아 처리할 수 있습니다. 상당 부분이 SQS와 비슷한 개념이기 때문에, 전에 작성했던 SQS 관련글을 먼저 보고 해당 글을 보시는 것을 추천합니다. https://yoonbing9.tistory.com/126 AWS SQS 아키텍처 및 특징 SQS란? AWS의 Simple Queue Service 로, 말 그대로 큐 서비스입니다. 데이터를 큐에 넣는 어플리케이션과 큐에서 데이터를 빼서 사용하는 어플리케이션을 느슨하게 연결..
2022.02.07 -
AWS SQS란?
SQS란? AWS의 Simple Queue Service 로, 말 그대로 큐 서비스입니다. 데이터를 큐에 넣는 어플리케이션과 큐에서 데이터를 빼서 사용하는 어플리케이션을 느슨하게 연결해주는 역할을 합니다. 이와 같은 미들웨어를 메시지 브로커라고 합니다. 메시지 브로커의 대표적인 제품은 RabbitMQ, SNS 등이 있습니다. SQS 아키텍처 SQS 기본 동작 방식 메시지 생산자는 SQS에 전달할 메시지를 보냅니다. Queue에서는 이 메시지를 일정 기간동안(설정에 따라) 가지고 있습니다. 메시지 소비자는 주기적으로 Queue에 가져갈 메시지가 있는지 Polling하여, 메시지가 있다면 Pull 하여 가져갑니다. 메시지 소비자는 Ack를 Queue에 보내 메시지 처리가 완료됨을 알리고 SQS는 해당 메시지..
2022.02.07 -
도메인 주도 설계의 모듈 구성(패키지 구성)
패키지 구성을 설계하는 것에는 한 가지 정답만 있는 것은 아니지만 이 번 시간에는 도메인 주도 설계에서 일반적으로 사용되는 패키지 구성을 소개하고자 합니다. 규칙1. 아키텍처의 각 영역은 별도 패키지에 위치합니다. ui: 표현 영역 application: 응용 영역 domain: 도메인 영역 infrastructure: 인프라 영역 규칙2. 도메인이 크면 하위 도메인별로 모듈을 나눕니다. 모듈 구성 예시) com.myshop ㄴ order ㄴ member ㄴ catalog ㄴ ui ㄴ application ㄴ infrastructure ㄴ domain ㄴ product ㄴ category 도메인이 복잡하다면 도메인 모델과 도메인 서비스를 다음과 같이 별도 패키지에 위치시킬 수도 있습니다. com.mysh..
2022.01.10 -
도메인 주도 설계 - 도메인 영역의 구성요소
스프링을 사용하는 백엔드 개발자들에게 컨트롤러와 서비스란 아주 자연스러운 웹 어플리케이션 아키텍처의 구성요소일 것 입니다. 컨트롤러와 서비스, 레포지터리를 구현하면 자연스럽게 웹 어플리케이션이 개발이 됩니다. 이처럼 도메인 주도 설계에서도 도메인 영역을 구성하는 대표적인 유형들의 객체가 있습니다. 기존 객체 모델링은 자유도가 높아 문제 영역을 파고들수록 여러 층의 복잡한 계층 구조를 만들게 될 가능성이 높습니다. DDD에서는 도메인 모델링 구성 요소의 역할에 따른 유형을 정의하고 이러한 규칙에 따라 도메인을 모델링하면 단순하게 설계가 가능합니다. 엔티티(Entity) 엔티티는 다른 엔티티와 구별할 수 있는 식별자를 가진 도메인의 실체 개념을 표현하는 객체입니다. 식별자는 고유하되 엔티티의 속성 및 상태는..
2022.01.06 -
도메인 주도 설계의 계층화 아키텍처(Layered Architecture)와 DIP
계층화 아키텍처 웹 어플리케이션에서 사용되는 대표적이고 전형적인 아키텍처 표현 영역, 응용 영역, 도메인 영역, 인프라 영역 이렇게 네 개의 영역으로 구성됩니다. 하지만 계층화 아키텍처를 구글링해보면 계층수가 다르거나 명칭도 조금씩 다릅니다. 하지만 계층화 되어있다는 점에서 같은 아키텍처로 보고 있습니다. 가장 큰 특징은 상위 계층에서 하위 계층으로만 의존하고 하위 계층에서 상위 계층을 의존하지 않습니다. 엄격한 계층화 아키텍처 상위 계층은 바로 아래의 계층에만 의존해야합니다. 유연한 계층화 아키텍처 구현의 편리함을 위해 계층 구조를 유연하게 적용한 버전입니다. 응용 계층에서 최하위 계층인 인프라스트럭처 계층을 의존할 수 있습니다. 계층화 아키텍처의 구성요소 표현 계층 클라이언트의 요청을 받고 응답을 전..
2022.01.05