N° 01 — 목록
'service-discovery' (2)
-
Software Architecture/Distributed SystemsDistributed Systems - 11. 서비스 디스커버리·게이트웨이
서비스 디스커버리와 API 게이트웨이 — 클라이언트가 어디로 보낼까2016년 한 회사가 30개의 마이크로서비스를 운영했다. 각 서비스의 URL이 설정 파일에 적혀 있었다. 어느 날 인프라팀이 로드 밸런서를 교체하면서 모든 서비스의 IP가 바뀌었다. 설정 파일을 모두 수정하고 재배포하는 데 하루가 걸렸다. 그 사이 프로덕션은 중단됐다. 서비스가 어디 있는지 알아내는 것조차 복잡한 작업이 된 것이다. 또 다른 문제 — 30개 서비스마다 각자 인증, 속도 제한, 로깅을 구현했는데, 코드가 중복되고 정책이 어긋났다. 이 두 문제를 다루는 패턴이 서비스 디스커버리와 API 게이트웨이다. 이 글은 두 패턴과 그 현대적 변형인 서비스 메시까지 다룬다.비유로 감 잡기 — 호텔 프론트 데스크큰 호텔에 왔다고 상상하자. ..
-
Cloud & Infrastructure/Kubernetes NetworkingK8s Networking - 02. coredns
"web"이라고만 쳤는데 왜 다른 namespace로 가버리나 — CoreDNS와 NDots 함정한 팀이 클러스터 안에서 외부 API(api.weather.com)를 호출하는 코드를 올렸다. 어느 날부터 호출이 이상하게 느려지더니, 가끔 존재하지 않는 도메인(NXDOMAIN) 응답이 왔다. 원인은 Pod의 DNS 검색 도메인 설정 — ndots:5 — 이었다. 외부 도메인을 쳤는데 CoreDNS가 그것을 api.weather.com.default.svc.cluster.local 같은 클러스터 내부 이름으로 먼저 풀려 시도하다 실패하고, 그제야 외부로 나갔다. 매 요청마다 여러 번의 실패한 DNS 질의가 쌓인 것이다.이 글이 푸는 것은: CoreDNS가 클러스터 안에서 서비스 디스커버리를 어떻게 담당하고,..