본문 바로가기

분류 전체보기47

02. Flink 아키텍처 Flink DataStream 데이터의 스트림을 나타낸다 플링크에서 데이터를 처리하는데 사용하는 주요 추상화 개념 source kafka, rabbit mq 등과 같은 외부 시스템의 데이터를 Flink Jobs로 수집합니다 sink DataStream을 외부 시스템에 쓰는 역할을 한다 Kafka, Cassandra 등등 데이터 스트림도, 배치도 가능 Flink의 철학 배치는 데이터가 유한한 스트림이다 초저지연을 목표로 하는 실시간 처리 상태가 있는 스트림 처리 스트림 데이터 처리에서 주의해야 할 점 Flink 시간 시멘틱 데이터의 처리 시간은 데이터 발생 시간 뿐만 아니라 네트워크, 처리 속도 등 여러 요소가 영향을 미친다 그래서 데이터 처리 시간이 아닌 데이터 자체의 실제 시간을 이용해야 한다 처리 시.. 2023. 3. 8.
01. Flink란? Flink 빅데이터 처리 및 분석을 위한 오픈 소스 분산 컴퓨팅 시스템 핵심 기능으로는 이벤트 시간과 처리 시간 시멘틱 순서가 바뀐 이벤트가 들어오더라도 일관성 있고 정확한 결과를 제공한다 상태 일관성 보장 아파치 하둡, 아파치 카프카, JDBC 등 저장 시스템과 연결하는 여러 종류의 커넥터를 제공한다 스트림과 배치 작업 모두에 대해 정확하게 한 번만 처리할 수 있는 매커니즘이 내장되어 있다 멱등성, 데이터 중복 방지 언어는 자바와 스칼라 지원 아파치 하둡, 아파치 카프카와 같은 다른 빅데이터 도구와 통합될 수 있다 Flink에서 애플리케이션은 사용자 정의 연산자에 의해 변환될 수 있는 데이터 흐름으로 구성된다 데이터는 하나 이상의 데이터 소스로부터 변환을 수행하고 하나 이상의 싱크로 끝나는 순서를 가진.. 2023. 3. 5.
k8s Kubernetes 컨테이너를 여러 서버에 설치해 주는 Scheduler Networking Abstaction, Service Discovery pod 프로세스라 이해하면 된다? 컨테이너는 스레드라 생각하면 편함 온디맨드로 얼마든지 복제 Container Orchestration 컨테이너화 된 애플리케이션에 대한 자동화된 설정, 관리 및 제어 체계 지원해야 하는 기능 배포 관리 어느 컨테이너를 어느 호스트에 배치하여 구동시킬 것인가 최적의 스케줄링과 배포 상태를 유지 관리하는 방법 제어 및 모니터링 구동 중인 각 컨테이너들의 상태를 추적 관리 스케일링 운영 상황에 따른 사용량 규모에 대응할 방법 네트워킹 운영되는 인스턴스 및 컨테이너들을 어떻게 상호 연결할 것인가? 프로비저닝 컨테이너 애플리케이션 구성.. 2022. 12. 21.
[DDD] 4장 리포지터리와 모델 구현 JPA를 이용한 리포지터리 구현 역시 RDBMS를 사용할 때, ORM 만한 매핑 기술이 없다 자바 ORM 표준인 JPA를 이용해서 리포지터리와 애그리거트를 구현하는 방법에 대해 살펴보자 모듈 위치 라포지터리 인터페이스는 도메인 영역, 리포지터리를 구현한 클래스는 인프라스트럭처 영역에 속한다 4.3.3 필드 접근 방식 이용 엔티티에 프로퍼티를 위해 공개 get/set 메서드를 추가하면 도메인의 의도가 사라지고 객체가 아닌 데이터 기반으로 엔티티를 구현할 가능성이 높아진다 그래서 JPA 매핑 처리를 프로퍼티가 아닌 필드 방식으로 선택하여 불필요한 get/set 메서드를 구현하지 말자 @Entity @Access(AccessType.FIELD) public class Order { @EmbeddedId pri.. 2022. 12. 21.