PM2 완전 정복 7편 — 안티패턴 12선과 운영 체크리스트
sudo pm2 혼용부터 K8s 안에서 PM2로 스케일링까지 현장에서 반복되는 안티패턴 12가지를 증상·원인·해결로 정리하고, 설치부터 무중단·로그·보안까지 운영 셋업 체크리스트와 명령어 치트시트로 시리즈를 마무리한다.
blog92@web:~$ grep -rl "#Anti-Pattern" posts/
이 태그가 달린 글
sudo pm2 혼용부터 K8s 안에서 PM2로 스케일링까지 현장에서 반복되는 안티패턴 12가지를 증상·원인·해결로 정리하고, 설치부터 무중단·로그·보안까지 운영 셋업 체크리스트와 명령어 치트시트로 시리즈를 마무리한다.
Snowflake Server, Configuration Drift, ClickOps가 재현성을 무너뜨리는 과정과 IaC·멱등성·Immutable Infrastructure·Pets vs Cattle·Phoenix Server로 되돌리는 두 단계.
혼돈의 벽과 변경을 막을수록 위험해지는 악순환, 2009년 DevOpsDays가 만든 전환점, 그리고 이후 모든 패턴을 판별할 세 가지 질문(재현성·변경 단위·피드백).
EAV·다중 컬럼 속성부터 인덱스·쿼리·운영까지 SQL 안티패턴을 훑고, 서브타입·계층·이력 모델링과 키셋 페이지네이션·큐 테이블·멱등성 키 같은 검증된 패턴을 쇼핑몰 예제로 정리한다.
Stovepipe System, Vendor Lock-In, Single Point of Failure, Architecture by Implication, Design by Committee, Ivory Tower Architecture — 시스템 간 통합과 아키텍처를 결정하는 방식의 안티패턴
Distributed Monolith, Shared Database, Chatty Services, Nanoservices, Entity Service, Death Star — 경계가 네트워크가 되면서 증폭되는 안티패턴
Architecture Sinkhole, Cyclic Dependency, Leaky Abstraction, Anemic Domain Model, Inner-Platform Effect, Swiss Army Knife — 한 애플리케이션 안에서 계층과 모듈의 경계가 무너진 안티패턴
Spaghetti Code, Big Ball of Mud, Lava Flow, Golden Hammer, Premature Optimization, Reinventing the Wheel — 시스템과 개발 문화 차원의 안티패턴
Magic Number, God Object, Long Method, Feature Envy, Shotgun Surgery, Primitive Obsession, Cargo Cult — 언어와 프레임워크를 가리지 않고 등장하는 대표 안티패턴 전체
알려진 해법이 있는데도 같은 구조가 반복되는 이유. Conway의 법칙, 도구 우선 선택, 지연 도착하는 비용, 중앙화와 분산의 진자. 시리즈 완결.
로그만 있는 분산 시스템에서 장애 원인을 못 찾는 이유. 로그·메트릭·트레이스의 역할 분담, Correlation ID, 카디널리티 폭발, 알림 피로.
CSV 내보내기 하나가 무관한 엔드포인트의 p99까지 올리는 이유. CPU가 이벤트 루프를 붙잡는 네 가지 통로, 동시성 없는 async, 스트림과 백프레셔.
스케일 아웃된 함수가 DB 커넥션을 고갈시키는 이유, 콜드 스타트의 네 단계, Lambda Pinball, 그리고 서버리스가 오히려 정답인 경우.
하위 서비스 하나가 느려지자 전체가 멈추는 동기 호출 사슬. 재시도 증폭, 캐시 동시 만료, 커넥션 풀 도미노와 각 방어책의 대가.
DB 저장과 이벤트 발행을 나란히 쓰는 다섯 줄이 깨지는 방식, 2PC가 후퇴한 이유, Saga의 전제, Transactional Outbox와 멱등 소비자.
컬럼 하나를 못 바꾸는 공유 DB와 명사로 쪼갠 Entity Service의 함정. 경계를 변경 이유로 긋고 데이터 중복을 결합도의 값으로 치르는 법.
기능 하나에 서비스 일곱 개가 같은 날 배포되는 구조. 함께 바뀌는 것을 세어 진단하고 Modular Monolith로 후퇴하는 탈출 경로.
Chatty Interface, 버전 없는 API, Over-fetching이 한 화면에 모이는 이유와 유스케이스 기반 엔드포인트·런타임 계약으로 계약을 고정하는 법.
네트워크 호출을 함수 호출처럼 쓴 대가. 분산 컴퓨팅의 여덟 가지 오류를 장애 시나리오로 번역하고 타임아웃·재시도·멱등성을 API의 1급 요소로 만든다.
비즈니스 규칙이 게이트웨이 미들웨어에 숨는 순간. ESB의 실패가 API 게이트웨이로 되살아나는 구조와 게이트웨이의 책임을 문서로 고정하는 법.