컴퓨터/Kafka
-
Spring boot: websocket 서버 확장 도전 및 Kafka컴퓨터/Kafka 2023. 12. 24. 13:23
소개 같은 Spring boot 웹소켓 서버 (실시간 채팅을 위한)를 scale-out 하는 (같은 서버를 여러 다른 포트에서) 과정을 담았다. 문제 여기서 마주친 문제는, 여러 다른 포트에서 열린 웹소켓 서버에서 같은 하나의 채팅 방에 있는 유저들끼리 어떻게 통신할 수 있을까? (예: 8081 포트 서버에서 "spring"이란 채팅 방, 8082 포트 서버에서 "spring"이란 채팅 방, 서로 같은 메시지를 봐야 한다.) Sticky Session 처음 떠올린 건 스티키 세션이다. 사용자를 특정 서버 인스턴스에 '고정'해서, 모든 요청이 같은 서버로 라우팅 되도록 하는 기술이다. (세션 데이터 일관성 유지) 웹소켓의 경우, 연결이 한 번 맺어지면 계속 유지되므로, 스티키 세션의 효과가 제한적일 수 있..
-
Pinterest의 Apache Kafka 팁, 사용법컴퓨터/Kafka 2021. 1. 27. 15:17
Pinterest Pinterest 요리법, 집 꾸미기 아이디어, 영감을 주는 스타일 등 시도해 볼 만한 아이디어를 찾아서 저장하세요. www.pinterest.co.kr 현재는 다를 수 있음 1. 소개 핀터레스트, 좋아하는 관심사(이미지)를 쉽게 저장할 수 있고 공유할 수 있는 플랫폼이다. 월 사용자가 천만명이 넘을 정도로 큰 핀터레스트는 Apache Kafka를 이용해서 repin, click, close-ups, impressions 등 다양한 이벤트 데이터들을 데이터 저장소에 옮기는 데 사용한다고 한다. 2000개가 넘는 브로커에서 카프카를 돌리며, 하루에 페타바이트 정도를 사용할 수 있을 정도로스케일이 엄청나다. 카프카는 지역마다 있는 서버끼리 통신을 할 수 없다. (예. 미국에 있는 카프카 서..
-
Apache Kafka Connect 사용해보기컴퓨터/Kafka 2021. 1. 7. 13:34
Kafka Connect Apache Kafka A Distributed Streaming Platform. kafka.apache.org 1. Kafka Connect란 Apache Kafka Connect란, http://, sql server, mysql, syslog, csv, json 등 소스 데이터를 Kafka에 전송한 후 (source) 데이터를 변형 후 mongoDB, elasticserach, mysql, postgres, hadoop 등으로 데이터를 쉽게 보내는 역할을 한다. (sink) ex) RDBMS -> Kafka Connect -> Kafka -> Kafka Connect -> Amazon S3, HDFS ex) 애플리케이션 카프카 -> Kafka Connect -> 데이터 저..
-
Apache Kafka 서버 보안 (security)컴퓨터/Kafka 2020. 12. 30. 23:24
Kafka Apache Kafka A Distributed Streaming Platform. kafka.apache.org 1. 카프카 보안 기본 설정(PLAINTEXT)으로는 이론상, 연결된 모든 유저 및 애플리케이션이 원하는 토픽에 원하는 메시지를 전달할 수가 있다. 카프카 보안을 높일 수 있는 방법은 크게 아래 3가지가 있다. 데이터 전송 중 SSL / TLS을 통한 암호화 SSL / SASL을 통한 인증(Authentication) ACLs을 통한 인증(Authentication) 2. SSL / TLS 이 방법은 프로듀서에서 카프카, 카프카에서 컨슈머로 가는 데이터를 암호화할 수 있게 해 준다. HTTPS에서 "S"가 이와 같다. (카프카에선 주로 port 9093 SSL을 통해 이용함) 아래..
-
Python Kafka: Cloud Karafka 이용하기컴퓨터/Kafka 2020. 12. 24. 12:14
CloudKarafka CloudKarafka TYou will, among other things, understand how you can benefit from using Apache Kafka in your architecture and how to optimize your Kafka Cluster. www.cloudkarafka.com 1. 소개 CloudKarafka는 Google cloud나 AWS처럼 클라우드 서버를 제공하는데, Kafka 클러스터만을 위한 서버이다. 무료 버전은 최대 5개 토픽, 토픽 당 최대 10MB 데이터, 28일 데이터 보유 기간이다. (최고 옵션은 매 달 1200달러) 2. 서버 만들기 원하는 플랜으로 카프카 서버를 만든다. @플랜 링크 Plans - CloudKa..
-
-
Apache Kafka: local을 위한 명령어 인터페이스 (CLI)컴퓨터/Kafka 2020. 12. 18. 22:26
Kafka 심심해서 만들어본 툴 Apache Kafka A Distributed Streaming Platform. kafka.apache.org 참고: Hyper-V 가상환경에서 Kafka 서버 만들기 1. 소개 아직, 실행 파일로 만들거나 소스를 최적화하진 않았지만 실행 가능 상태이다. Confluent로 local 개발을 해보려고 했으나 confluent local은 매번 실행할 때마다 Kafka 데이터가 날아간다. 터미널에서 명령어로 카프카를 주로 돌리는데, 서버가 잘 실행이 된건지, 출력이 애매하고, 명령어가 길어 힘들어서 하나 만들었다. TO-DO: 최적화 기능 주키퍼 서버, 카프카 서버 실행 주키퍼 서버, 카프카 서버 종료 주키퍼 서버, 카프카 서버 로그 보기 카프카 토픽 생성/제거/목록/설..