본문 바로가기

서버구축 (WEB,DB)295

HTTP 요청과 응답에 대한 캐싱 로직 정의 VCL (Varnish Configuration Language) Varnish Configuration Language (VCL) 코드는 특정 HTTP 요청과 응답에 대해 캐싱 로직을 정의하여 캐싱 동작을 조정하는 것입니다. Varnish에서는 기본적으로 모든 페이지를 캐시할 수 있는 가능성이 있지만, 실제로 캐시되는지 여부는 여러 조건에 따라 달라집니다. 이러한 조건에는 HTTP 헤더, 요청 메소드, 설정된 VCL 로직 등이 포함됩니다. 따라서 모든 페이지가 자동으로 캐시되는 것은 아니며, 다음과 같은 요소들이 캐시 여부를 결정짓습니다. HTTP 메소드: 일반적으로 GET 요청과 HEAD 요청만 캐시됩니다. POST나 PUT 같은 다른 요청 메소드는 기본적으로 캐시되지 않습니다. HTTP 헤더: Cache-Control, Pragma, Expires 등의 헤더는 응.. 2024. 3. 18.
전통적인 Web-DB 구조에서 Web-WAS(API)-DB 아키텍처로의 전환 전통적인 web-db 구조 대신 web-was(api)-db 구조로 운영하는 것은 여러 보안 이점이 있습니다. 이러한 아키텍처는 분리된 레이어를 통해 보안을 강화하며, 각 레이어가 서로 다른 보안 요구 사항과 위험을 관리할 수 있도록 합니다. 특히 API를 사용하는 경우, 보안 위험을 줄이고 보안 설정의 정확성을 높일 수 있습니다. 관리의 용이성: WEB/WAS 구조에서는 웹 서버와 WAS가 분리되어 있어 서버 관리 및 장애 대응이 더욱 용이합니다. 웹 서버와 WAS의 역할이 구분되어 있기 때문에 관리 및 유지보수가 더 쉽고, 장애 발생 시 대처 방안도 명확해집니다. 안정성 및 가용성: 이중화를 통해 안정성을 높일 수 있습니다. 웹 서버와 WAS가 분리되어 있으면, 하나의 시스템에 문제가 발생해도 다른 .. 2024. 3. 11.
Apache 웹 서버 URL 접근제어 Access Control 통제 및 인증 Apache 웹 서버에서 IP 제한을 설정하려면 httpd.conf 또는 관련된 설정 파일을 열고 다음과 같이 Require 지시어를 사용하여 원하는 IP 주소나 범위를 지정할 수 있습니다. Options FollowSymLinks AllowOverride None Order deny,allow Deny from all Allow from 192.168.1.1 위의 예제에서 Allow from 뒤에 원하는 IP 주소나 범위를 추가하세요. 또는, Apache 2.4 버전 이상을 사용하는 경우 다음과 같이 Require를 사용할 수 있습니다. Options FollowSymLinks AllowOverride None Require ip 192.168.1.1 변경 후에는 Apache를 재시작하여 설정을 적용해.. 2024. 2. 29.
Vitess 대규모 웹 서비스 데이터베이스 클러스터링 시스템 Vitess는 대규모 웹 서비스를 위한 데이터베이스 클러스터링 시스템입니다. YouTube에서 개발되었으며, 현재는 CNCF(Cloud Native Computing Foundation)의 산하 프로젝트로 운영되고 있습니다. Vitess의 주요 목적은 MySQL 데이터베이스의 확장성과 관리 용이성을 개선하는 것입니다. Vitess의 주요 특징 확장성: Vitess는 MySQL의 단일 인스턴스 한계를 극복하고, 수십억 개의 행과 수천 개의 쿼리를 처리할 수 있는 확장성을 제공합니다. 샤딩: 자동 샤딩을 통해 데이터를 여러 데이터베이스로 분산시켜 처리 속도와 효율성을 높입니다. 복제와 고가용성: MySQL의 복제 기능을 이용하여 데이터의 안정성과 가용성을 높입니다. 쿼리 최적화: 복잡한 쿼리를 분석하고 최적.. 2024. 2. 25.
OpenTelemetry(OTel) 원격 측정 데이터 생성, 처리 및 전송 OpenTelemetry는 클라우드 네이티브 컴퓨팅 재단(CNCF)에 속한 프로젝트로, 관찰 가능성 데이터(예: 로그, 메트릭, 추적)를 수집, 처리 및 전송하는 표준화된 도구와 라이브러리의 모음입니다. 이 프로젝트의 목적은 통합된 관찰 가능성 시스템을 제공하여, 개발자들이 애플리케이션의 성능을 모니터링하고, 문제를 진단하며, 분산 시스템의 복잡성을 관리할 수 있도록 돕는 것입니다. OpenTelemetry를 활용하기 위한 단계별 방법은 다음과 같습니다. 환경 설정 및 필수 구성 요소 설치: OpenTelemetry를 사용하기 전에, 개발 환경에 필요한 라이브러리와 도구를 설치합니다. 이는 주로 OpenTelemetry SDK와 관련 API를 포함합니다. 애플리케이션 통합: OpenTelemetry SD.. 2024. 2. 24.