2023/03/12 2

Apache Kafka와 구성 요소

Apache Kafka 카프카란? 카프카: 분산 이벤트 스트리밍(분산 데이터 스트리밍) 플랫폼이다. 여러 소스에서 데이터 스트림을 처리하고 여러 사용자에게 전달한다. 필요한 모든 곳에서 대규모 데이터를 동시에 이동 가능하다. 웹 사이트, 애플리케이션, 센서 등에 취합한 데이터를 스트림 파이프라인을 통해 실시간 관리하고 보내기 위한 분산 스트리밍 플랫폼이다. 데이터 생성하는 애플리케이션과 데이터를 소비하는 애플리케이션 간의 중재자로서 전송 제어, 처리, 관리 역할을 한다. 전통적인 메시징 시스템의 대안이다. 하루에 1조 4천 억 건의 메시지를 처리하기 위해 LinkedIn이 개발한 내부 시스템으로 시작했다. Java, Python, Go로 프로슈머, 컨슈머를 개발 카프카는 데이터 이동에 필요한 핵심 역할을..

[구조 패턴] 데코레이터 패턴(Decorator pattern, 장식자)

데코레이터 패턴을 이용하면 타깃 객체를 감싸 어떤 로직을 런타임에 동적으로 부여할 수 있다. 데코레이터 끼리도 감쌀 수 있어서 사실상 타깃 객체를 장식하는 경우의 수는 이론적으로 무한하다. 데코레이터 패턴은 상속 보다 유연하지만. 애플리케이션 실행하기 전엔,ㄴ 객체 타입과 동작방식을 알 수 없어서 더 복잡하다. 거의 모든 언어와 UI, 플랫폼, 백엔드 할 것없이 두루 쓰인다. 의도 데코레이터 패턴은 객체들을 새로운 행동들을 포함한 특수 래퍼 객체들 내에 넣어서 위 행동들을 해당 객체들에 연결시키는 구조적 디자인 패턴이다. 데코레이터 예시 Order 인터페이스 가격, 피자 이름을 조회 가능 public interface Order { public double getPrice(); public String ..