본문 바로가기

메세지 큐2

Devops Day 44 (5.8) 마이크로서비스_CQRS CQRS CQRS는 Command Query Responsibility Segregation(명령과 조회의 책임 분리)의 약자로 이름처럼 명령을 처리하는 책임과 조회를 처리하는 책임을 분리하는 것이 CQRS의 핵심입니다. CQRS는 초기 CQS에서 시작되어 확장되었습니다. CQS는 Command Query Separation의 약자로 시스템에서 처리되는 명령과 조회, 이 두 작업을 정의하는 핵심 개념이자, 이 둘을 분리시키는 디자인 패턴입니다. 기존에 하나의 데이터 저장소에 CRUD 작업을 모두 처리했다면, CQRS는 요청을 크게 명령(Create, Update, Delete)과 조회(Read)로 나누어 처리합니다. 명령과 조회를 각각 분리하면 명령(쓰기) 요청의 부하를 줄이고, 조회 대기 시간을 줄이는.. 2023. 5. 9.
Devops Day 44 (5.8) 마이크로서비스_API 디자인과 프로세스 간 통신 프로세스 간의 통신 : 서비스와 서비스가 서로 통신하기 위해서는 인터페이스(interface)가 존재해야 하고, 인터페이스가 요구하는 방식대로 커뮤니케이션해야 합니다. 동기 / 비동기 : HTTP 프로토콜은 기본적으로 TCP(또는 UDP) 연결을 만들고, 이 위에서 요청에 따라 즉시 응답이 오는 형태로 구현이 되어 있습니다. 즉 동기적인 응답을 제공합니다. 세상에는 요청에 따른 응답이 즉시 도착하는 커뮤니케이션만 존재하지 않습니다. 문자 메시지를 생각해 보면 발신자는 수신자가 즉시 메시지를 보고 답장하리라고 기대하지 않습니다. 이러한 패턴은 비동기적인 커뮤니케이션입니다. HTTP는 비동기 아닌가요? HTTP는 컴퓨터와 컴퓨터 사이의 네트워크 통신이고, 이는 네트워크 지연에 따라 즉시 응답이 오지 않을 수.. 2023. 5. 9.