Reverse Proxy Notes Reverse Proxy 먼저, 그냥 프록시(proxy)라고 하면 보통 포워드 프록시를 의미한다. 포워드 프록시는 클라이언트에서 서버에 직접 웹사이트에 방문하는 것을 방지한다. 포워드 프록시는 주로 내부망에서 나가는 방향의 통로 역할을 한다. ┌─────────────────────────────────────────┐ │ ... 2024/09/11 Web
2024-09-10-TIL TIL Today I Learned NGINX vs Apache Apache는 기존에 많이 사용되던 웹 서버 엔진이다. 예전에는 APM이라고 Apache, PHP, MySQL을 묶어서 부르기도 했고, 한 번에 설치해주는 도구도 있었다. (참고) Apache는 process-driven 방식이며 요청 당 스레드를 생성하는 반면, NGINX는 높은 동시성을... 2024/09/10 2024-TIL
ELB vs ALB vs NLB Notes ELB vs ALB vs NLB 로드 밸런서는 클라우드 환경에서 흔히 볼 수 있다. 고가용성(High Availability)이 필요하다면, 애플리케이션의 최소 두 대의 인스턴스 앞 단에 로드 밸런서를 설정하게 된다. AWS는 다양한 시나리오에 맞게 적용된 세 가지 유형의 로드 밸런서를 제공한다. 바로 Elastic Load Balancer(ELB... 2024/09/10 Network
Apache vs Tomcat Notes Apache vs Apache Tomcat Apache 서버와 Tomcat 서버의 차이점 Apache Server와 Tomcat Server는 Apache Software Foundation에서 제공하는 두 가지 제품입니다. Apache Tomcat은 Servlet 컨테이너 환경인 반면 Apache는 HTTP 웹 서버입니다. 반면 Tomcat 서버... 2024/09/10 Web
2024-09-09-TIL TIL 2024-09-09-TIL Today I Learned Idle Timeout Backend 서버에서 타임아웃은 없고, 톰캣 서버의 설정도 별도로 하지 않았다. Backend서버 앞단의 ALB 타임아웃을 900초로 설정했다. Frontend 서버인 Nginx에서는 내부 도메인에 한해서만 커넥션 타임아웃을 900초로 설정했다. 그런데 브라우저에서 ... 2024/09/09 2024-TIL
Keep-Alive Notes Keep-Alive Keep-Alive 또는 Persistent Connection은 HTTP 요청 양을 줄이고 웹 페이지 속도를 높이기 위한 서버와 클라이언트 간의 통신 패턴이다. 즉, 하나의 커넥션을 최대한 효율적으로 활용하기 위한 매커니즘이다. Keep-Alive가 켜져 있으면 클라이언트와 서버는 이후에 요청이나 응답을 위해 연결을 유지하는 ... 2024/09/09 Network
Network Load Balancers(NLB) Notes Network Load Balancers(NLB) Network Load Balancer(NLB)는 클라이언트에게 단일 접점(single point of contact)을 제공한다. ELB, ALB와의 차이는 ELB vs ALB vs NLB에 정리했다. 클라이언트는 NLB에게 요청을 보내고 NLB는 그 요청을 EC2 인스턴스(하나 이상의 Availa... 2024/09/09 Network
2024-09-08-TIL TIL 2024-09-08-TIL Today I Learned 블로그 이사 이번 주말 간에 기존의 블로그 프로젝트를 아카이빙하고 새로운 테마의 블로그로 모든 데이터를 완전히 이전하게 되었다. 이사하게 된 이유는 아주 많지만 최근에 이력서를 정리하고 원하는 회사에 지원해보면서 일종의 메타인지(?)를 해보았다. 그런데 내가 반대 입장에서 블로그를 방문했을 ... 2024/09/08 2024-TIL
Spring in Action 1장: 스프링 시작하기 Book 스프링이 최초로 소개되었던 15년 전에는 애플리케이션 유형이 주로 관계형 데이터베이스를 사용하는 웹 브라우저 기반의 웹 애플리케이션이었다. 하지만 현대의 애플리케이션은 그 뿐만 아니라, 다양한 방식으로 변화하였다. 특히 클라우드에 맞춰진 마이크로서비스, 더 큰 확장성과 향상된 성능을 제공하는 리액티브 프로그래밍도 큰 관심사이다. 이에 따라 스프렝 프레... 2024/09/07 Spring in Action
Troubleshooting Java 1장: 앱에서 모호한 부분 밝히기 Book 일반적으로 소프트웨어 개발자는 새로운 기능 구현 or 에러 조치를 위한 코딩보다 소프트웨어의 작동 방식을 이해하는 데 더 많은 시간을 쓴다. 소프트웨어 개발자는 보통 갖가지 조사 기업을 디버깅이라고 표현하지만, 개발자는 ‘문제를 찾고 해결하는 것’외에도 코드의 작동 방식을 분석하는 다양한 목적으로 디버깅을 수행한다. 새로운 프레임워크 배우기... 2024/09/07 Troubleshooting Java