분류 전체보기 198

[Kafka 활용] Kafka 심화 3 - 보안 적용 : Kafka SSL, SASL, ACL

지난 시간에는 Kafak2 심화 과정으로 공식문서에서 권장하는 운영을 위한 성능과 prometheus 랑 Grafana를 세팅해서 실제로 모니터링이 가능한지 알아보았다. [Kafka 활용] Kafka 심화 2 - 안정적인 운영을 위한 지식 + 모니터링 도구 설정 이번 시간에는 Kafka 에서 소개하는 보안 설정들을 알아보고 이것을 적용해 볼 것이다. 목표1. Kafka Security에 대해 알아본다.3. Kakfa 보안 실습 환경을 구축 및 SSL을 적용한다.3. Kafka SASL, ACL이 뭔지 이해한다. 0. 들어가기 전에해당 내용을 이해하기 전에 SSL에 대해서 정리를 하고자 한다. 필자는 생활코딩의HTTPS와 SSL 인증서를 참고했다. 정리한 내용은 다음에서 읽어보길 바란다.([Security..

[Security 기초] 봉투암호화, 블록 암호화 이해하기 (feat. AWS KMS + CBC)

해당 주제들은 필자가 회사에서 서버 코드를 분석하던 중 알게된 이번 글에서는 봉투암호화와 이와 관련된 여러 블록암호화 종류와 예시코드를 볼 예정이다. 0. 들어가기 전에암호화 기초로 이전에 대칭키, 비대칭키에 대해 공부했다. ([Security 기초] HTTPS와 SSL/TLS이해와 실습 (feat. 암호화 기초))구분대칭키비대칭키 (공개키/비공개키)동작 방식암호화와 복호화에 동일한 하나의 열쇠 사용암호화(공개키)와 복호화(비공개키)에 서로 다른 열쇠 쌍 사용속도연산이 단순하여 처리 속도가 매우 빠름수학적 연산이 복잡하여 처리 속도가 느림실생활 비유집 현관문 열쇠 (잠그고 열 때 같음)우체통 (누구나 잠글 수 있지만 우체부만 열 수 있음)치명적 한계단일 키 유출 시 시스템 전체가 뚫림 (안전한 키 전달..

[Security 기초] HTTPS와 SSL/TLS이해와 실습 (feat. 암호화 기초)

이번 글에서는 필자가 공부한 암호화 관련 정보를 정리하고 HTTPS와 SSL/TLS에 대해 이해하고자 글을 정리한다. 암호화 기초는 사실 가져다가 쓰기만 했고 그런가보다~ 했는데 깔끔하게 이를 정리하려고 한다. 해당 글은 생활코딩에 올라와 있는 HTTPS와 SSL 인증서의 흐름을 참고해서 정리했고, 필자의 mini pc 환경에서 실습을 진행했다. 0. 들어가기 전에 알고리즘(Algorithm)이란?알고리즘을 사전적으로 정의하면 어떤 의미일까? 어떠한 문제를 해결하거나 특정 작업을 완수하기 위해 정의된 명확하고 단계적인 절차나 방법의 집합 다시 쉽게 정리하면 특정 목적을 위해 정의한 절차 혹은 방법을 알고리즘이라고 한다. 1. 암호화 기초 정리 암호화란 무엇인가? 위키피디아 정의에 따르면 승인된 당사자..

[Kafka 활용] Kafka 심화 2 - 안정적인 운영을 위한 지식 + 모니터링 도구 설정

지난 글에서 [Kafka 활용] Kafka 심화 1 - Uber System Design와 Kafka 사용에서 어느 곳에 Kafka를 적용하면 좋을지 연습했다. 아 드디어 올것이 왔다! 그래서 카프카를 어떻게 관리하고 구성할 것인가? 하드웨어적으로 메모리양이나 설정은 어떻게 하는것이 좋고 모니터링은 어떻게 하는지를 정리해서 알아보도록 하겠다.하 귀찮아~1. 0. 들어가기 전에KRaft에 대해서 다른 글도 찾게 되었다. DEVOCEAN에서 KRaft에 대해서 또 잘 정리해서 참고로 읽으면 좋을 것 같아 필자도 읽어보고 다시 글 정리를 진행했다. Apache Kafka의 새로운 협의 프로토콜인 KRaft에 대해(1)Apache Kafka의 새로운 협의 프로토콜인 KRaft에 대해(2) 무엇보다도 현업자의 경..

[Kafka 활용] Kafka 심화 1 - Uber System Design와 Kafka 사용

지난 글에서 카프카에서 KRaft에 대해 간단하게 이해하고 실습 진행 및 사용사례를 조사했다.([Kafka 기초 학습] Kafka 기초개념 7 - KRaft 간단 이해 및 실습 진행 + 사용 사례 조사) 이번 시리즈 부터에서는 키메라 스스로가 "Kafka 활용"이라고 명명했다. 이유는 실제로 이 kafka가 큰 시스템에서 바라보았을 때 어느 문제점을 해결하기 위해서 어느곳에 배치해야하는지 맥락을 파악하기 위함이다. 따지고 보면 이전 글에서 사용 사례를 보면서 뭔가 부족해서 좀 더 활용적인 면에서 어떻게 Kafka를 써야하는지 머리에 집어놓고 싶어서 그렇다. 해당 글은 1번 섹션에서 설명하겠지만 Hello Interview 라는 youtuber의 영상을 주로 참고해서 필자의 말로 풀어낸 것이다. 다만, 중..

[Kafka 기초 학습] Kafka 기초개념 7 - KRaft 간단 이해 및 실습 진행 + 사용 사례 조사

지난 글에서는 컨슈머에 대해서 이해하는 시간을 가졌다. (지난글이 궁금하면 여기 클릭!) 이번 시간에는 KRaft에 대해서 알아보려고 한다. KRaft(Kafka Raft) 이전에는 Zookeeper를 사용했다는데, 필자의 입장에서는 지금 쓰지도 않아 흥미도 없는거 억지로 파고 들어봤자 금방 잊을거라는 생각이 들었다. 그렇기 때문에 KRaft를 위주로 어떻게 작동하고 설정하는지 알아보고 실습을 통해 이해할 예정이다. 1. Zookeeper에 대한 간단한 고찰Apache ZooKeeper는 고도의 신뢰성을 갖춘 분산 조정을 가능하게 하는 오픈 소스 서버를 개발하고 유지 관리하기 위한 노력의 일환이다. ZooKeeper는 구성 정보 유지 관리, 명명 규칙 적용, 분산 동기화 및 그룹 서비스 제공을 위한 중앙..

[Kafka 기초 학습] 카프카 기초 개념 6 - 컨슈머 이해 및 실습 진행

지난 글에서는 프로듀서에 대해 이해하고 실습을 진행해 보았다. 사실 이전 글에서 프로듀서와 컨슈머를 다 정리하려고 했는데 프로듀서 관련해서 알아볼 내용이 많았기 때문에 컨슈머 관련 글을 따로 분리했다. 하여간 이번 글에서는 컨슈머에 대해 이해하고 컨슈머 사용 실습을 진행해볼 예정이다. 목표1. 컨슈머의 구조에 대해 이해한다.2. 컨슈머의 다양한 설정을 통해 실습을 진행한다.0. 들어가기 전에 컨슈머(consumer)란 무엇인지 정리해보자. An Apache Kafka® Consumer is a client application that subscribes to (reads and processes) events.출처 : https://docs.confluent.io/platform/current/cli..

[Kafka 기초 학습] 카프카 기초 개념 5 - 프로듀서 이해 및 실습 진행

지난 시간에는 메시지와 메시지 포맷 그리고 파티셔닝에 대해서 알아보았다. (지난 글 궁금하면 여기 클릭!) 이번 글에서는 프로듀서와 컨슈머에 대해 각각 알아보고 어떻게 작동하는지를 찾아보고 또 실습을 할 것이다. 목표1. 프로듀서에 대해 깊이 이해한다.2. 프로듀서의 다양한 옵션을 사용해 실제로 실습한다.0. 들어가기 전에 필자가 Kafka 공부를 시작하면서 구성한 mini pc 와docker를 이용한 구성도이다. 이를 보고 이제 producer와 consumer가 어떻게 어디에 들어가서 작동하는지를 알아볼 것이다. 프로듀서와 컨슈머는 한글로 번역하면 생성자와 소비자이다. 우리는 계속 레코드를 topic내 파티션들에 쌓고 이곳에 메시지 혹은 레코드를 쌓고 이를 읽는 것을 보았다. 프로듀서(produ..

[Kafka 기초 학습] 카프카 기초 개념 4 - 메시지와 메시지 포맷 과 메시지 전송 및 분석 실습 + 파티셔닝 이해

지난 시간에는 하이워터마크와 리더에포크에 대해 알아보았다. (지난 내용이 궁금하면 여기 클릭!) 이번에는 메시지와 메시지 포맷, 그리고 로그와 컴팩션에 대해서 좀 더 자세하게 보려고 한다. 물론 지난글인 카프카 기초 개념 2 - 자세한 개념과 프로듀서의 작동 방식, 그리고 topic 상세 정보 보기에서 살짝 봤는데 뭔가 아직도 헷갈렸다. 그도 그런게 책을 읽으면 책의 내용이 뭔가 차근차근 한다기보다는 널뛰기 해서 갑자기 이거 봣다가, 저 뒤에 가서 아 이거 자세히 못봣으니 여기서 보자. 그리고 뒤에 가서 아 이거 또 설명해야해요 이런 방식이다. 그렇기 때문에 계속 글을 다시금 보면서 부족한 부분은 별도의 시리즈로 빼고, 앞에 기초 개념 내용도 재정비를 할 것이다. 해당 글의 내용은 Kafka 공식 문서..

[Kafka 기초 학습] 카프카 기초 개념 3 - 하이워터마크와 리더 에포크

1;지난 글에서는 전반적인 Kafka 내부에서 사용되는 개념, 프로듀서의 작동 방식과 필자가 띄운 실습 환경의 topic 상세 정보를 살펴보았다. (지난 글 여기 클릭!) 이번 시간에는 하이워터마크와 리더 에포크가 무엇인지 알아보겠다. 0. 들어가기 전에이번 글을 정리하기 전에 짚고 넘어가려는 개념을 정리하고자 한다. 0.1) ISR(InSyncReplica) In Sync Replica의 약어로 현재 리플리케이션이 되고 있는 리플리케이션 그룹을 말한다. 카프카는 오직 완전히 복사된 메시지만 컨슈머에게 전송한다. 여기서 프로듀서는 미시지를 리더에게만 보내고 컨슈머도 리더에서서만 메시지를 받는다. 그러면 다른 팔로워들은? 말 그대로 팔로워들은 리더의 데이터들을 팔로우한다. 팔로워들은 현재 리더에 문제가..