목록2022/06/20 (3)
devops
Apache Kafka 실시간 스트리밍 데이터 파이프라인 및 애플리케이션을 구축하기 위한 오픈 소스, 고성능, 내결함성 및 확장 가능한 플랫폼이다. Apache Kafka는 스트리밍 데이터 저장소다. 스트리밍 데이터를 생성하는 애플리케이션(생산자)을 데이터 저장소에서 스트리밍 데이터를 소비하는 애플리케이션(소비자)과 데이터 저장소로 분리한다. Apache Kafka의 분산 특성으로 인해 확장이 가능하고 노드 장애 시 고가용성을 제공한다. 주로 스트리밍 데이터를 분석하고 이에 대응하는 애플리케이션의 데이터 소스로 Apache Kafka를 사용한다. Apache Kafka 는 레코드, 주제, 소비자, 생산자, 브로커, 로그, 파티션 및 클러스터와 같은 다양한 구성 요소로 구성된다. 레코드에는 키(선택 사항)..
명령과 조회의 책임분리를 의미한다. 쉽게 말해서 명령과 조회를 처리하는 책임을 분리하는 것이 CQRS의 핵심이다. CQRS는 초기 CQS에서 시작하여 확장했다. CQS는 Command Query Separation의 약자다. 시스템에서 처리되는 명령과 조회를 정의하는 핵심 개념이자, 둘을 분리시키는 디자인 패턴이다. 명령은 상태를 변경하는 것이고, 조회는 상태를 반환하는 작업을 의미한다. CQRS와 마이크로서비스 마이크로서비스의 핵심은 서비스별 DB를 각기 다르게 채택하는 것이다. 서비스 성능 향상을 위해 인스턴스를 스케일 아웃하여 여러개로 실행하면 빈번한 명령과 조회 작업으로 리소스 교착상태가 발생한다. 더구나 명령보다 조회 요청이 훨씬 많기 때문에 하나의 서비스 내에 모든 기능을 넣어두면, 조회 요청..