데이터가 폭발적으로 증가하면서, “나중에 분석하는 Batch 중심 구조”만으로는 서비스 운영과 장애 대응이 불가능해졌다. 결제 실패율이 갑자기 오르는지, 로그인 오류가 특정 지역에서 집중되는지, 서버 응답시간이 급격히 증가하는지와 같은 문제는 발생하고 10분 뒤에 알면

Kafka는 “메시지를 큐처럼 바로 삭제하는 시스템”이 아니다.Kafka는 로그 저장 시스템(Log Store)이며, 메시지를 보존(retain)하는 전략은 데이터 구조와 비용, 성능에 직결된다.Retention은 크게 두 가지로 나뉜다.삭제 기반 Retention (

Kafka Producer는 단순히 메시지를 전송하는 컴포넌트가 아니다.내부적으로는 대규모 고속 전송을 위한 버퍼링·배치·압축·재전송·멱등성·순서 관리까지 수행하는 매우 정교한 구조이다.Producer를 제대로 이해하면 다음 문제들을 스스로 분석할 수 있다.왜 특정 상

Kafka가 높은 가용성과 데이터 일관성을 유지할 수 있는 이유는Replication(복제) 구조가 매우 강력하게 설계되어 있기 때문이다.Replication Factor, ISR, LEO/HW, ACKS, commit 조건 등을 정확히 이해하면다음과 같은 상황을 스스

Kafka에서 Consumer Group은 단순히 “여러 Consumer가 메시지를 나눠 읽게 하는 기능”이 아니다.Consumer Group 구조는 고가용성(HA), 병렬 처리, Failover, 부하 분산, Offset 관리, Rebalance 안정성까지 포함하는

Kafka의 메시지 처리에서 가장 중요한 요소는 “Offset을 어떻게 관리하느냐”다.Offset은 단순한 숫자 같지만, 실제로는 중복 처리, 유실 방지, 재처리, 장애 복구, Rebalance 안정성을 좌우하는 핵심 개념이다.Consumer의 모든 동작은 Offset

카프카의 성능, 확장성, 메시지 처리 구조를 이해하려면 Partition이라는 개념을 완전히 이해해야 한다.Partition은 단순히 Topic을 쪼개는 구조가 아니라, 카프카가 대규모 스트림을 병렬로 처리하고 순서를 유지하며 빠르게 동작하는 이유를 모두 담고 있다.이

위 그림은 Kafka의 가장 단순하고 핵심적인 구조를 보여준다.Producer들이 데이터를 보내면, Kafka Cluster 내부의 여러 Broker가 이를 받아 저장하고, Consumer들은 저장된 데이터를 가져가는 형태다.카프카를 깊게 이해하는 첫 단계는 이 단순한
동기는 사전적으로 '동시에 일어난다'는 의미를 갖고 있습니다.프로그래밍에서 동기는 작업이 순차적으로 진행되는 것을 의미합니다. 즉, 한 작업이 시작되면 해당 작업이 완료될 때까지 다른 작업이 기다려야 합니다. 동기 방식은 호출한 함수 또는 작업이 반환될 때까지 대기하는

저번 포스팅에서는 SSO를 조금이나마 더 이해하기위해 JWT와 PKI를 공부하고 각 요소의 역할을 알아보았다 ! 이번 포스팅에서는 SSO에서의 토큰 생성 및 검증 동작 흐름과 이를 더 보안하는 방법을 알아보려한다 !SSO 시스템에서 사용되는 JWT (JSON Web T
이번 포스팅에서는 KeyPair와 KeyFactory에 대해 설명하고, 실제 프로젝트에서 어떻게 활용했는지 공유해 보려고 합니다 ! 특히, JWT 인증을 구현하는 과정에서 이 두 가지 클래스가 어떤 역할을 했고, 이를 통해 인증 흐름을 어떻게 설계했는지 제가 구현한것을

저번 포스팅에서는 SSO를 조금이나마 더 이해하기위해 JWT와 PKI를 공부하고 각 요소의 역할을 알아보았다 ! 이번 포스팅에서는 SSO에서의 토큰 생성 및 검증 동작 흐름과 이를 더 보안하는 방법을 알아보려한다 !SSO 시스템에서 사용되는 JWT (JSON Web T
OAuth 2.0을 공부하다보니 현대의 웹 애플리케이션 환경에서 다양한 서비스 간의 사용자 인증을 통합하고 사용자 경험을 단순화하기 위한 방식으로 Single Sign-On (SSO)이 많이 사용된다라는것을 알게되었다. SSO는 여러 서비스 제공자(Service Pro
클라이언트가 HTTPS URL을 통해 서버로 요청사용자가 웹 브라우저를 통해 https://로 시작하는 URL에 접근한다.브라우저는 서버와 암호화된 연결을 위해 HTTPS 프로토콜을 사용한다.Client Hello 메시지 전송브라우저는 SSL/TLS 핸드셰이크

PKI를 통해 전자서명과 전자봉투를 생성하고 생성된 전자봉투를 더 안정적으로 전송하기위해서 사용하는 SSL/TLS를 좀 더 깊게 공부하려한다 ! 웹에서 HTTPS를 사용한다는 것은 단순히 주소창에 https://를 붙이는 것을 넘어, 보안을 보장하기 위한 SS
이번 포스팅에서는 PKI(공개키 기반 인프라)를 활용한 공개키 배포 방식, 암복호화 과정, 그리고 인증서 발급 절차와 인증서 갱신 및 폐지에 대해 설명하려한다. PKI는 데이터의 기밀성, 무결성, 신원 인증, 부인 방지 등의 요소를 보장하기 위해 필수적인 보안 인프라이
이어서 이번 포스팅은 현대 인터넷 보안의 근간을 이루고 있는 비대칭형 암호 시스템과 전자 서명, 그리고 이를 사용하는 PKI(공개키 기반 인프라)와 안전하게 데이터를 전송하는 방식인 SSL/TLS에 대해 아주 간단히 다뤄보겠다. 전자 서명과 전자 봉투, 그리고 SSL/

PKI에 대해서 공부하려한다. 알고 있다면 좋은 기술이고, 보안의 기본이자 인터넷 세상에서 중요한 역할을 하고 있는 비대칭형 암호 시스템과 전자 서명, 그리고 이를 구현하는 다양한 방식에 대해 다뤄보려한다. 이 포스팅 포함 총 3개의 포스팅으로 이어 나가려고 한다 !!

Spring Boot를 사용한 분산 시스템에서 마이크로서비스 간의 상호작용은 매우 중요하다. 초기에는 Gateway와 인증 서버 간의 통신을 용이하게 하기 위해 FeignClient를 사용했다. 그러나 리액티브 스택인 Webflux를 사용해 구현해보고 싶었고, 그것이

최근 프로젝트에서 Payco OAuth 2.0을 구현했었는데 직접 구현했던 기술이 아니라서 OAuth 2.0에 대해 아주 간단하게만 알고있었다. 하지만 지금 사이드 프로젝트에서 OAuth 2.0을 사용한 카카오, 구글 소셜 로그인 및 자체 회원가입을 구현해야한다. 워낙