엔지니어 3

대량 트래픽과 분산 처리: 신화와 현실

예상되는 대규모 트래픽 처리를 위해 복잡한 분산 처리가 반드시 필요하며, 이를 위해 Microservices나 유사한 고급 아키텍처를 도입해야 한다는 생각은 종종 현실보다는 신화에 가깝습니다. 최근 10년여 경험에 따르면, 하루에 수억 건의 호출을 처리하는 API조차도 Redis 캐싱이나 Load Balancing과 같은 비교적 간단하고 검증된 기술만으로 효과적으로 관리될 수 있는 경우가 많습니다.시기상조 분산 아키텍처의 유혹과 함정많은 개발팀이 Microservices 아키텍처가 모놀리식(Monolithic) 설계보다 우수하다고 여기며 매력을 느낍니다. 명확한 모듈 경계(특히 대규모 팀에 중요), 서비스 독립 배포 능력, 각기 다른 서비스에 다양한 기술을 사용할 수 있는 유연성 등 잠재적인 이점은 매우..

엔지니어 2025.04.10

쿠버네티스 클러스터 아키텍처 - 워커 노드 size 선택하기

kubernetes-node-size 선택하기https://learnk8s.io/kubernetes-node-size쿠버네티스를 사용하는 입장에서 아래 기법을 적용중이긴하나 다시 한번 읽어보니 재밌어서 남김.쿠버네티스 클러스터를 구성할 때 중요한 질문 중 하나는 "어떤 유형의 워커 노드를 사용하고, 몇 개나 필요한가?"입니다. 즉, 더 적은 수의 대형 노드를 사용할지 아니면 더 많은 수의 소형 노드를 사용할지에 대한 선택이 필요합니다.클러스터 용량쿠버네티스 클러스터는 개별 노드들을 하나의 큰 "슈퍼 노드"로 추상화합니다. 이 슈퍼 노드의 총 컴퓨팅 용량(CPU와 메모리)은 모든 구성 노드 용량의 합계입니다. 예를 들어, 총 8 CPU 코어와 32GB RAM이 필요한 클러스터를 구성할 때:4개의 작은 노드..

엔지니어 2025.04.10

끊임없는 선택과 책임, 소프트웨어 엔지니어의 삶

https://0x1.pt/2025/04/06/the-insanity-of-being-a-software-engineer/The Insanity of Being a Software EngineerIs something I think about often because I can’t help but wonder if most other jobs are like this.0x1.pt읽다보니 공감되서 따로 정리소프트웨어 엔지니어의 광기: 끝없는 기술 습득의 미로오늘날 소프트웨어 엔지니어로 살아간다는 것은 마치 끝없이 움직이는 타겟을 쫓는 것과 같다. 한 발자국 내딛을 때마다 목표 지점이 두 발자국 더 멀어지는 듯한 이 현실은 많은 개발자들에게 공감을 불러일으킨다. 과연 다른 직업들도 이렇게 숨 가쁜 것일까? ..

엔지니어 2025.04.09