본문 바로가기

전체 글358

IoT 시스템 아키텍처 — 통신 모델부터 AWS까지, 이론과 실전의 연결 IoT(Internet of Things)는 단순히 센서를 인터넷에 연결하는 것이 아닙니다. 수많은 이질적 시스템들이 유기적으로 협력하여 하나의 인텔리전트 시스템처럼 동작하는 것 - 이것이 IoT 어플리케이션의 본질입니다.이 글에서는 IoT 시스템의 통신 모델(Client/Server vs Messaging), 네트워크 계층 구조, MQTT 프로토콜의 CS적 배경, 그리고 실제 AWS 서비스와의 연결까지 정리합니다.1. IoT 시스템의 계층 구조IoT 시스템은 크게 세 개의 계층(Layer)으로 구성됩니다.Device Layer (하단)센서, 액추에이터, 카메라, 스마트 락 등 물리적 장치가 존재하는 계층입니다. 이 장치들은 현실 세계를 모니터링(sensing)하거나, 제어 명령을 실행(actuating.. 2026. 3. 25.
이벤트 기반 아키텍처(EDA) 이론과 실무 패러다임 - Event-Driven Architecture Event-Driven Architecture(EDA)는 특정 기술이 아니라 설계 패러다임입니다.소프트웨어 컴포넌트들이 다른 컴포넌트의 직접 호출(invocation)이 아닌, 이벤트의 발생에 반응하여 실행되는 구조를 말합니다.개념 자체는 수십 년 전부터 UI 프로그래밍, 게임 엔진, 임베디드 시스템 등에서 사용되어 왔지만, 최근 IoT·클라우드·마이크로서비스의 부상과 함께 시스템 통합(Integration)의 핵심 방법론으로 급격히 부각되고 있습니다.이 글에서는 EDA의 아키텍처적 구성 요소를 이론적으로 정리하고, 이것이 실제 AWS 서비스와 분산 시스템 패러다임에 어떻게 매핑되는지를 연결합니다.1. Event Processing의 세 단계EDA를 이해하기 전에, Event Processing 자체가 .. 2026. 3. 25.
[AWS] 스타트업에서 일당 받고 일일 FinOps 해준 후기 - 인프라 비용 87% 감축 기록 스타트업 대표가 SOS 쳐서 일당 받고 FinOps 해준 후기EC2 월 $84 → $14로 줄이고, 오버엔지니어링 홈페이지를 S3+CDN으로 갈아엎은 이야기CloudWatch CPU 분석 · EBS 디스크 포렌식docker system prune · journalctl vacuum · /tmp 복원t2→t3 세대 전환 · Reserved Instance ROI 설계EBS 스냅샷 → AMI 파이프라인 무중단 스펙 다운그레이드EC2 Image Builder · AWSTOE · 빌드 로그 5단계 분석IAM Trust Policy · Instance Profile 바인딩 트러블슈팅vmie 커널 버전 불일치 → Native AMI 우회netstat · ps · history 기반 배포 아키텍처 리버스 엔지니어링V.. 2026. 3. 21.
[알고리즘 깨달음] 탐색 문제는 상태머신(FSM)이다! (예시 22년도 카카오 기출) 알고리즘 문제를 풀다 보면 문제 분류를 파악하고 머릿속의 템플릿을 꺼내어 문제에 맞추려는 경향이 있다. 이번 22년도 카카오 기출 '양과 늑대' 문제를 풀며, 이런 접근 방식이 어떻게 한계를 보이고 이를 어떻게 극복해야 하는지 사고의 흐름과 코드 변천 과정을 통해 정리해 보았다. 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/92343 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 1. 초기 접근: 경로 탐색 프레임에 갇힌 사고처음 문제를 접했을 때의 생각 흐름은 다음과 같았다.2 엣지도 2N -> N.스테이트 스페이스 = 현재 방문한 노드.. 2026. 3. 15.
[AWS] VPC 개념과 관련 기능 소개 및 요약 ipv6에 관련된 기능이랑 ipv6라우팅 관련 내용은 제외했습니다. 추후에 다른 포스트에서 다룰 예정입니다. 1. Network Foundation: 가상 네트워크의 기반물리적 네트워크 위에 올라가는 Overlay Network 계층입니다.VPC (Virtual Private Cloud)개념: Multi-tenant 환경에서 논리적으로 완벽히 격리된 사용자 전용 네트워크입니다.작동 원리 (Mechanism): AWS의 물리적 스위치는 패킷 전송 시 VNI(Virtual Network Identifier) 태그를 붙여 캡슐화(Encapsulation)합니다. 이 태그가 다르면 물리적으로 같은 선을 써도 통신이 불가능합니다.핵심 디테일:Region 단위 리소스입니다.생성 후 Primary CIDR 크기는 변.. 2026. 1. 29.
[Nginx] Zero Copy (sendfile) 커널 동작 원리와 strace로 시스템 콜 추적 Zero Copysendfile on은 커널 공간에서 데이터를 바로 복사하여 CPU 부하를 줄이는 기술이다.Legacy: Disk → Kernel Buffer → User Buffer(Nginx) → Kernel Socket Buffer → NIC (복사 4회, Context Switch 2회)Zero Copy: Disk → Kernel Buffer → Kernel Socket Buffer → NIC (복사 2~3회, Context Switch 감소)제로 카피에 대한 대표적인 IBM 블로그가 있다.https://developer.ibm.com/articles/j-zerocopy/ 리눅스 듀얼 모드(커널 스페이스, 유저 스페이스)에 대한 것인데, 듀얼 모드에 대한 개념은 예전에 작성한 OS글을 참고하면 된.. 2026. 1. 25.
[K8s] Service VIP에서 Pod로 가는 네트워킹 커널 레벨 분석 (iptables, route, Calico CNI IPIP 모드) https://docs.tigera.io/calico/latest/about/kubernetes-training/about-networking About Networking | Calico DocumentationLearn about networking!docs.tigera.io https://nangman14.tistory.com/108 Kubernetes 환경에서 발생하는 DNS Query Failed 이슈와 NodeLocal DNSCache를 이용한 해결Kubernetes 환경에서 서비스를 운영하다보면 예상치 못한 이슈를 종종 발견하게 됩니다. 특히 대규모의 트래픽을 부담해야 하거나 구동 중인 애플리케이션이 많은 경우처럼 Cluster의 크기가 거대해nangman14.tistory.com 쿠버네티스.. 2026. 1. 24.
[Nginx] strace 시스템 콜 로그 분석을 이용한 Event Loop과 Non-blocking I/O 검증 + 리눅스 패킷 처리 과정 https://zcbm7008.tistory.com/6 LINUX 커널 네트워크 수신 프로세스이 글은 Netty 이야기: 커널 관점에서 본 I/O 모델 을 바탕으로 제기 이해하고 부족한 점을 찾아 정리한 글입니다. 아마존 프리 티어에서 작은 개인 프로젝트를 테스트 하면서, 내 프로젝트가 생각zcbm7008.tistory.com https://d2.naver.com/helloworld/47667 이번 글에서는 리눅스 커널의 System Call 트레이싱 도구인 strace를 사용하여 실제 런타임에 발생하는 커널 이벤트를 추적하고, 특히 User Space와 Kernel Space 간의 데이터 이동 비용 관점에서 Nginx의 최적화 기법을 심층 분석한다.리눅스 커널의 네트워크 패킷 처리 과정Hardware.. 2026. 1. 19.
Nginx가 Non-blocking I/O Multiplexing과 epoll 시스템 콜 이용해서 대용량 처리하는 원리 https://ego2-1.tistory.com/27 C10K 문제로 살펴보는 서버 아키텍처와 커널 I/O의 진화개요 C10K 문제란, 단일 서버가 동시에 10,000명(Concurrent 10K connections) 이상의 클라이언트와 연결을 유지하며 통신할 수 있도록 네트워크 소켓 처리 성능을 최적화하는 문제를 말한다.이 용어는 1999ego2-1.tistory.com 이 글은 멀티프로세싱에서 멀티스레딩, 그리고 멀티플렉싱까지의 진화와 함께, Nginx가 Non-blocking I/O Multiplexing 및 epoll 시스템 콜을 이용해 어떻게 대용량 네트워크 트래픽을 효율적으로 처리하는지 설명한다.1. 멀티프로세싱 기반클라이언트가 멀티프로세싱 기반 서버에 요청을 보낸다.부모 프로세스가 리스닝 .. 2026. 1. 19.
Thread 기반 서버의 한계(C10K 문제)와 Nginx 프로세스 모델의 Context-switching 오버헤드 개선 아키텍처 https://oliveyoung.tech/2023-10-02/c10-problem/ 고전 돌아보기, C10K 문제 (C10K Problem) | 올리브영 테크블로그오래된 과거에서 시작하는 Node.js의 비동기 처리로의 여정oliveyoung.tech 자세한 I/O Multiplexing과 epoll과 시스템 콜 관련한 내용은 다음 포스트에서 다루고, 이번 포스트에서는 기본 아키텍처와 프로세스 모델을 통한 컨텍스트 스위칭 오버헤드 개선에 대해서 다루겠다. Nginx가 Non-blocking I/O Multiplexing과 epoll 시스템 콜 이용해서 대용량 처리하는 원리https://ego2-1.tistory.com/27 C10K 문제로 살펴보는 서버 아키텍처와 커널 I/O의 진화개요 C10K 문제란.. 2026. 1. 19.