분류
-
Kafdrop: Kafka 웹 UI컴퓨터/Kafka 2020. 12. 4. 16:45
Kafdrop obsidiandynamics/kafdrop Kafka Web UI github.com 1. 소개 kafdrop은 Kafka 토픽, 브로커, 컨슈머 그룹 등 Kafka을 웹 UI로 볼 수 있게 해주는 java 프로그램이다. 2. 사용법 JDK 11+, Kafka 0.11.0+ 또는 Azure Event Hubs 필요 Kafka서버만 실행해도 작동함 다운로드: github.com/obsidiandynamics/kafdrop/releases Releases · obsidiandynamics/kafdrop Kafka Web UI github.com "Download from Bintray"에서 .jar 파일만 다운로드한다. jar이 있는 폴더에서 다음을 실행한다. (brokerConnect를 설..
-
Kafka Slack API Producer 만들기 (Python)컴퓨터/Kafka 2020. 12. 3. 15:56
Kafka 예제 프로젝트 Apache Kafka A Distributed Streaming Platform. kafka.apache.org 이전 글: Kafka Slack API Consumer 만들기 1. 소개 이 예제에서 만들 결과물은 다음과 같다. Producer를 통해 이전 글(Consumer)에게, 매 5초마다 Slack 채널 "일반"에서 메시지를 읽고, 누군가 글을 남겼는데 "bug"란 단어를 포함한 글이면, json으로 dump 시켜서 Consumer에게 전송한다. {"USER": "ikr", "TEXT": "I found a bug, where I can copy my items over and over."} 그러면, Consumer는 자동으로 USER과 TEXT를 읽어서, 내가 원하는 S..
-
Kafka Slack API Consumer 만들기 (Python)컴퓨터/Kafka 2020. 12. 1. 19:31
Kafka 예제 프로젝트 Apache Kafka Apache Kafka: A Distributed Streaming Platform. kafka.apache.org 1. 소개 이 예제에서 만들 결과물은 다음과 같다. Producer CLI를 통해서, SLACK-KAFKA 토픽에게 아래의 json 데이터를 보냈다. (Producer를 만들어서 전송해도 된다.) {"CLUB_STATUS":"platinum","EMAIL":"ikr@kakao.com","STARS":1,"MESSAGE":"Exceeded all my expectations!"} 그러면, Consumer는 자동으로 EMAIL과 MESSAGE를 읽어서, 내가 원하는 Slack 채널에 다음과 같이 메시지를 남겨준다. ("EMAIL"이 나쁜 리뷰를 ..
-
[#3] Kafka 이론 (Producer, Consumer, Zookeeper)컴퓨터/Kafka 2020. 11. 29. 21:49
Kafka 3번째 튜토리얼 Apache Kafka Apache Kafka: A Distributed Streaming Platform. kafka.apache.org 이전 글: Kafa 이론 (topic, broker) 1. Producer (프로듀서) Producer [prə|duːsə(r)] (명사) 생산자, 생산 회사[국가] 데이터를 토픽에게 전송하는 역할을 한다. 어떤 브로커(서버), 파티션에 데이터를 저장할지 알아서 결정한다. 키 값을 지정하지 않으면 Round-Robin 형식으로 브로커에 데이터를 전송한다. 데이터를 쓸 때 어떤 확인(acknowledgment)을 받을 지 선택할 수 있다. acks = 0, 데이터 전송 후 확인이 필요, (데이터 손실 가능, ex. 서버에 보냈는데 서버가 다운..
-
[#2] Kafka 이론 (topic, broker)컴퓨터/Kafka 2020. 11. 28. 15:53
Kafka Apache Kafka Apache Kafka: A Distributed Streaming Platform. kafka.apache.org 이전 글: Kafka 소개 1. Topic (토픽) Topic [|tɑːpɪk] (명사) 화제, 주제 토픽이란, 스트림 데이터, 그냥 kafka에서 사용되는 데이터이다. (이 데이터는 기본 값 기준으로 일주일 후 사라진다.) (db에서 table과 비슷하다) 아래는 파티션 3개, 복제 계수 2, "first-topic"이라는 이름의 토픽을 만드는 방법이다. kafka-topics --zookeeper localhost:2181 --topic first-topic --create --partitions 3 --replication-factor 2 원하는 만큼..
-
[#1] Kafka 소개컴퓨터/Kafka 2020. 11. 28. 12:55
Apache Kafka Apache Kafka Apache Kafka: A Distributed Streaming Platform. kafka.apache.org 1. Kafka [카프카]란 LinkedIn에서 제작되어 Confluent에 의해 운영되는 "오픈소스 분산 스트리밍 플랫폼"이다. 포츈 100개 기업 중 80%가 카프카를 사용할 만큼 인기가 좋다. 사용 메시징 시스템 활동 추적 애플리케이션 로그 모으기 스트림 프로세싱 (Kafka Streams API, Spark...) 등등... 실제 활용 Pinterest: 광고 인프라 실시간 예산 계측 시스템에 이용 Uber: 사용자, 택시, 여행 정보 등을 실시간으로 받아 미래 수요, 가격 동요 계산 Netflix: 실시간 모니터링, (프로그램을 보는 ..
-
파이썬: Tarjan 알고리즘 (Strongly Connected Components)컴퓨터/파이썬 2020. 11. 23. 22:10
Tarjan's Algorithm Tarjan's strongly connected components algorithm an algorithm in graph theory for finding the strongly connected components (SCCs) of a directed graph. en.wikipedia.org 1. 소개 타르잔 알고리즘은 Kosaraju 알고리즘처럼 방향 그래프에서 strongly connected component들을 찾아내는 더 나은 알고리즘이다. (코사라주는 DFS 2개, 타르잔은 DFS 1개를 이용해 linear하게 찾을 수 있음) (Airport Connections와 같은 문제에서 사용할 수 있다.) 아래는 William Lin이라는 고등학생 학생과 a..
-
Python: luigi 배치 job 파이프라인 생성기컴퓨터/파이썬 2020. 11. 21. 22:02
Luigi by Spotify spotify/luigi Luigi is a Python module that helps you build complex pipelines of batch jobs. github.com 1. 소개 luigi[루이지]는 배치 job들의 파이프라인을 만들 수 있게 도와주는 라이브러리이다. 주목적은 오래 실행되는 배치 프로세스들을 처리하기 위함인데, 아파치 Hadoop처럼 데이터베이스에 데이터를 저장/추출하거나, 머신 러닝 알고리즘을 돌리거나, 이 배치 job은 아무거나 될 수 있다. 장점 파이썬이므로 어떤 작업이든 쉽게 만들 수 있다. 파이프라인을 거꾸로 돌기 때문에 태스크를 재실행하기보다, 실패한 테스크로부터 돌릴 수 있다. 아마존 ECS로 바로 작업할 수 있는 AWS 배치 ..