Unggu
Preview Image

[Azure AKS] Proxy 환경에서 X-Forwarded-For 헤더가 AppGW IP로 변경되는 문제

서비스에서 Client IP를 사용하는 이유 서비스에서 접속한 Client IP를 확인할 일은 많습니다. Admin 페이지의 IP 기반 접근 제어 고객 요청에 대한 감사 / 추적 로그 On-Premise 환경의 경우 사내 별도의 프록시 서버 없이 사내 L4로 고객 요청이 직접 유입되기 때문에 별도의 처리 없이 logic level에서 ...

Preview Image

[Azure AKS] Azure Ingress Annotation 중괄호 문법 제한과 404 에러

Azure 환경에서 Ingress의 특정 어노테이션은 예기지 못한 동작 유발할 수 있습니다. (라우팅 실패) 이 글에서는 실제 사례를 통해 Ingress의 Silent Failure가 발생했는지 집중적으로 조사하고, 이 과정에서 얻은 Lesson Learned를 정리해 보겠습니다. 구조 및 개념 설명 현재 서비스의 네트워크 구조는 간단하게 아래와...

Preview Image

[Java] 정규표현식을 활용한 Java 개발

Java 개발을 하다보면 특정 패턴이 반복되는 자연어를 처리할 일이 많습니다. 개인정보에 대한 마스킹, 로그의 대한 패턴 분석 그럴때마다 parse를 통해 분석을 할 수 있겠지만 복잡한 문자열 검색이나 치환 작업을 간단한 패턴으로 대체할 수 있는 방식으로 정규 표현식(Regular Expression, Regex)를 사용하면 가독성 좋은 코드를 작성...

Preview Image

[Cloud Design Pattern] SAGA 패턴

트랜잭션과 정의 트랜잭션은 한 번에 실행되어야 하는 여러 작업을 포함할 수 있는 작업의 단위이며, ACID 원칙을 준수해야 합니다. 원자성: 모든 작업이 성공하거나 작업이 성공하지 않습니다. 일관성: 데이터가 유효한 상태에서 다른 유효한 상태로 전환됩니다. 격리: 동시 트랜잭션은 순차 트랜잭션과 동일한 결과를 생성합니다. 내구성: ...

Preview Image

[Cloud Design Pattern] SpringBoot에서 Azure Event Hub를 통한 pub-sub 패턴 구현

Pub-Sub 패턴이란 송신자(publisher)와 수신자(Subscriber)가 서로 알지 못한 상태로도 비동기 통신할 수 있도록 하는 메세징 패턴입니다. 일반적인 통신(Rest API) A라는 publisher 서비스와 B라는 Consumer라고 가정하겠습니다. B서비스는 A서비스에게 요청하기 위해서는 아래와 같은 제약사항이 존재합니다. ...

Preview Image

[k8s] CronJob이란?

Application을 운용하면서 일정 시간마다 작업을 해야할 필요성이 있다. ex) n개월이 지난 개인정보의 삭제, 조근 점검의 자동화, 이메일 보내기 이러한 작업을 사람이 해도 되겠지만 이런 귀찮은 작업을 자동화 하는 것이 개발자가 아닐까? 쿠버네티스에서도 이러한 반복작업을 자동화 할 수 있게 유닉스 계열 기반 Cronjob이라는 리소스를 지원...