본문 바로가기
반응형

개발/아키텍처30

Hystrix Hystrix는 Netflix에서 개발한 Java 기반 라이브러리로, 분산 시스템에서의 레지리언시(resiliency) 및 장애 내성(fault tolerance)을 제공합니다. 마이크로서비스 아키텍처에서 네트워크 실패, 서비스 지연, 하드웨어 문제 등으로 인한 장애가 발생할 수 있는데, Hystrix는 이러한 문제들에 대응하여 시스템의 안정성과 가용성을 유지하는 데 도움을 줍니다. Hystrix의 주요 기능 서킷 브레이커(Circuit Breaker) 서킷 브레이커 패턴을 구현하여, 연속적인 실패 후 호출을 자동으로 차단하고, 서비스가 복구될 때까지 요청을 중단합니다. 이는 시스템의 과부하를 방지합니다. 폴백 메커니즘(Fallback Mechanism) 외부 시스템이나 서비스 호출이 실패했을 때, 대체.. 2023. 11. 30.
Kafka Connector Apache Kafka Connector는 Kafka Connect API의 일부로, 외부 시스템과 Kafka 클러스터 간의 데이터를 신뢰성 있고 확장 가능한 방법으로 전송하는 데 사용됩니다. Kafka Connector는 크게 두 가지 유형으로 나뉩니다: Source Connector와 Sink Connector. Kafka Source Connector 목적 Source Connector는 다양한 데이터 소스(예: 데이터베이스, 파일 시스템, 메시징 시스템 등)에서 데이터를 추출하여 Kafka 토픽으로 전송합니다. 사용 사례 데이터베이스 변경사항을 Kafka로 스트리밍하는 경우, 로그 파일을 실시간으로 Kafka에 전송하는 경우 등. Kafka Sink Connector 목적 Sink Connecto.. 2023. 11. 30.
Debezium Debezium은 실시간 데이터 변경 데이터 캡처(Change Data Capture, CDC)를 위한 오픈소스 분산 플랫폼입니다. 이는 다양한 데이터베이스의 변경사항을 감지하고 이를 Apache Kafka 토픽으로 전송하는 데 사용됩니다. Debezium은 데이터베이스의 트랜잭션 로그를 모니터링하여 변경사항을 감지하고, 이러한 변경사항(INSERT, UPDATE, DELETE 등)을 실시간으로 Kafka로 스트리밍합니다. Debezium의 주요 특징 실시간 데이터 스트리밍 데이터베이스의 변경사항을 실시간으로 감지하고 Kafka로 전송합니다. 다양한 데이터베이스 지원 MySQL, PostgreSQL, MongoDB, Oracle, SQL Server 등 여러 데이터베이스 시스템을 지원합니다. 확장성 및 .. 2023. 11. 30.
CQRS(Command Query Responsibility Segregation) CQRS (Command Query Responsibility Segregation)는 소프트웨어 아키텍처 패턴 중 하나로, 시스템의 명령(쓰기) 부분과 쿼리(읽기) 부분을 분리하는 것을 말합니다. 이 패턴은 Bertrand Meyer가 제안한 Command-Query Separation (CQS) 원칙에서 발전한 개념입니다. CQRS의 핵심 개념 명령과 쿼리의 분리 명령(Command) 시스템의 상태를 변경하는 작업 (예: 데이터 추가, 수정, 삭제) 쿼리(Query) 시스템의 상태를 조회하는 작업 (예: 데이터 검색, 보고서 생성) 데이터 모델의 분리 명령과 쿼리 작업은 각각 다른 데이터 모델을 사용할 수 있습니다. 이는 각 작업을 최적화하고 관리하기 위한 목적으로 사용됩니다. CQRS의 장점 성능 .. 2023. 11. 30.
반응형