HTTP 200 OK

Memento mori & Carpe diem

2023/12 3

BlockHound - Blocking 코드 존재여부 확인

사용이유 Spring Webflux나 Coroutine을 사용할 때는 모든 코드가 reactive 하게 동작하길 원합니다. 비동기 처리를 하면서 느낀내가 만든 코드가 점은 비동기로 데이터가 처리되는것인지 동기형식으로 처리되는 것인지 확인해볼 수가 없다는 것이였습니다. 그저 비동기 문법에 맞게 코드를 만들었을뿐.. 즉 비동기로작성한 코드에 blocking 코드가 존재하는지 확인해주는 도구가 바로 blockhound입니다. BlockHound란? BlockHound는 webflux 에서 사용하는 reactor 팀에서 개발한 도구로 애플리케이션에서 blocking 코드가 작성되었는지 여부를 검출해주는 도구입니다. 직접 작성한 코드 뿐만 아니라, 서드 파티 라이브러리에서 사용한 블로킹 코드도 전부 검출합니다...

Spring 2023.12.24

Nginx Proxy vs API Gateway(Part. 2)

Gateway와 Nginx Proxy의 차이는? API 프록시와 API 게이트웨이는 모두 기존 API 앞에 위치하여 게이트키퍼처럼 작동하지만 기능에는 큰 차이가 있습니다. 대부분의 경우 API 게이트웨이는 API 프록시가 수행하는 모든 작업과 그 이상을 수행할 수 있습니다. 기능 측면에서 볼 때 아래 다이어그램에 표시된 것처럼 API 프록시는 API 게이트웨이가 보유한 기능의 하위 집합만 있다고 합니다. 그렇다면 Proxy는 Gateway의 완벽한 하위호환일까요?? 개인적으로는 그 간의 설명들을 살펴보니 proxy 자체와 비슷하다기보다는 reverseProxy와 Gateway의 개념이 일치하는 것으로 생각됩니다. 하지만 reverse Proxy가 Gateway와 일치하는 개념이라고 보기에는 석연찮은 부분..

CS 2023.12.20

Nginx Proxy vs API Gateway(Part. 1)

개발자들 대부분은 nginx를 사용해 봤거나 한번쯤은 들어보셨을 겁니다. 요즘은 업무중에 K8S와 함께 사용해보니 nginx-ingress라는 개념도 나오고 api gateway도 함께 적용하고 있어서 기초부터 다잡고 싶은 마음에 nginx와 gateway의 차이점과 개념적인 부분들을 정리하고 정확히 이해하기 위해 글을 작성했습니다. 지금부터 nginx와 proxy 그리고 gateway까지 전반적인 개념을 살펴보겠습니다. nginx란?Nginx는 가벼움과 높은 성능을 목표로 하는 웹 서버 소프트웨어로, 웹 서버, 리버스 프록시 및 메일 프록시 기능을 가진다. https://ko.wikipedia.org/wiki/Nginx  Nginx는 정적 파일을 제공(HTML, CSS 등)하는 웹서버의 역할도 하면서 ..

CS 2023.12.09