전체 글
-
[Kafka] - 4. Producer개발/Kafka 2022. 8. 4. 16:10
Producer Producer는 Kafka에 Data를 넘겨주는 역할을 한다. ( Message = Data = Record = Event ) 1. Header(metadata) Topic, Partition, timestamp.. etc 2. Body Key-value Kafka는 Data를 Byte Array로 저장한다. Byte Array로 저장하기 위하여 Produce는 Data를 Serialize하며, Consumer는 Data를 확인 하기 위해 deserialze해야 한다. Key-value용 Serializer를 설정하기 위해서 아래 코드와 같이 사용한다고 한다. Properties props = new Properties(); props.put("bootstrap.servers", "lo..
-
[Kafka] - 3. Broker&Zookeeper개발/Kafka 2022. 8. 3. 23:21
1. Broker Partition에 대한 Read,Write를 관리하는 Software Kafka Broker = Kafka Server 와 동일한 의미. Topic 내에 Partition들을 분산, 유지 관리 Broker들은 id로 identify ( Id는 무조건 숫자 ) Topic은 일부 Partition들만 포함한다. ( 전체 Partition은 X ) Broker의 id와 partition id는 아무 연관이 없다. Topic 생성 시 Kafka가 자동으로 Topic을 구성하는 Partition들을 Broker에게 분산 분배 1-2) Kafka Cluster 여러 개의 Broker로 구성 Client는 특정 Broker에게 연결하여 전체 Cluster에 연결 최소 3대 이상의 Broker를 하..
-
[Kafka] - 2. Topic&Partition&Segment개발/Kafka 2022. 8. 3. 21:51
용어 정리 Topic Data를 최종적으로 저장하는 곳으로, 데이터를 구분하기 위한 장소 Producer Message를 Produce해서 Kafka의 Topic으로 Message를 보내는 Appication Consumer Topic의 Message를 가져와서 Consume하는 Application Consumer Group Topic Message를 사용하기 위해 협력하는 Consumer들의 집합 하나의 Consumer들은 하나의 Consumer Group에 포함된다. Consumer Group 내에 Consumer들은 협력하여 Topic의 Message를 분산 병렬처리한다. Producer와 Consumer는 서로 알지 못한다. Procuder와 Consuner는 각각 고유의 속도로 Commit L..
-
[Kafka] - 1. What is Apache Kafka개발/Kafka 2022. 8. 3. 21:24
Apache Kafka Linked-in에서 일 4.5조개의 Data를 처리하기 위하여 만든 솔루션 Data in motion platform = Event-Stream Platform Event란? 비즈니스에서 일어나는 모든 일 청구서 발행, 배송 물건의 위치 정보, 택시 GPS, Sensor 온도 등등.. Event가 발생함으로써 특징 Bussiness 모든 영역에서 광범위하게 발생 대용량의 Data가 발생한다 -> Message Queue로는 처리 속도를 잡을 수 없다. -> Event-Streaming Data의 필요성 Kafka는 이를 처리 할 수 있도록 만들었다. 특징 1. Event-Stream을 안전하게 전송(Publish&Subscribe) 2. Write to Disk 3. Proces..
-
[Docker] - Docker-compose개발/Docker 2022. 8. 3. 17:24
Docker-compose 개요 Docker compose란, 여러 컨테이너 서비스를 구축, 실행하는 순서를 자동으로 하여, 관리를 간단히 하는 기능이다. Docker compose에서는 docker-compose.yaml(docker-compose.yml은 우선순위가 후순위) 파일을 실행, 설정을 읽어 들여 모든 컨테이너 서비스를 실행 Docker-compose Process Document를 보게되면, 아래와 같이 정의되어 있다. Define your app’s environment with a Dockerfile so it can be reproduced anywhere. Define the services that make up your app in docker-compose.yml so they..
-
[Airflow] - Concept개발/Airflow 2022. 8. 3. 15:40
Airflow Default Concept 1. Operator An Operator is conceptually a template for a predefined Task, that you can just define declaratively inside your DAG For a list of all core operators(built-in) BashOperator - executes a bash command PythonOperator - calls an arbitrary Python function EmailOperator - sends an email with DAG("my-dag") as dag: ping = SimpleHttpOperator(endpoint="http://example.co..
-
[Airflow] - what is Airflow개발/Airflow 2022. 7. 30. 00:56
Airflow Airflow is a platform to programmatically author, schedule and monitor workflows. Use Airflow to author workflows as Directed Acyclic Graphs (DAGs) of tasks The Airflow scheduler executes your tasks on an array of workers while following the specified dependencies. Airflow is not a data streaming(data load like image,youtube ) solution. Principles 1. Dynamic Airflow pipelines are configu..