pinpoint architecturepinpoint agent : application monitoring metric 을 pinponit collector 에 전달pinpoint collector : pinpoint agent 에서 받은 데이터를 HBase 에 저장pinpoint web : HBase 에서 데이터를 조회해 Web UI 형태로 시각화된 모니터일 서비스를 제공 installation pinpointspring boot 3 는 pinpoint 2.5.1 부터 지원하기 때문에 참고하도록 하자!(그리고 pinpoint agent, controller 는 버전을 동일하게 맞춰 사용하는 것을 권장한다.)https://github.com/pinpoint-apm/pinpoint/issues/9599[..
이전 프로젝트를 구성하기 위해서는 source code 를 로컬 환경에서 빌드해서 scp 명령어를 통해 업로드하는 방식이었다. 하지만 매번 소스 코드 수정이 있을 때마다 build → file upload → build file 실행 작업의 반복으로 인해 부수적인 작업에 리소스를 사용하는 것이 불편했다. 그리고 이후 scale out 환경을 구성하는 경우에는 이 부수 작업의 무한 굴레에 빠지기 때문에 앞으로의 작업을 위해 개선이 필요했다. 결국 github action 을 통해 소스 코드를 빌드하고 S3 bucket 에 일괄 관리하는 방식으로 변경했다. 1. 개념 및 용어 정리[1] 멀티 모듈(multi-module) ? 멀티 모듈 프로젝트는 상호 연결된 여러 개의 모듈로 구성된 프로젝트를 의미한다...
1. 개념 및 용어 정리[1] Web Page Testwebpagetest??인터넷 구간에 관한 전반적인 테스트테스트 방법API 별 요청 응답 시간 확인 : 크롬 브라우저 도구 > 퍼포먼스 탭 정적 요소들에 관한 측정 법https://www.webpagetest.org/ https://pagespeed.web.dev/정적 요소 검토 사항성능에 영향을 주는 요소 : HTML, CSS, JS, image, web font 등성능 개선 검토 요소 : 압축, HTTP Cache, CDN 등등웹 서버에 영향을 받는 지표security score : TLS 및 HTTP 헤더 보안성 + JS 라이브러리 보안 취약성first byte time : 서버 응답시간 + 네트워크 비용 : 웹 서버에서 받은 컨텐츠의 첫번 째 ..
1. HTTP Caching응답 값의 복사본을 재사용하여 리소스를 불러오는 속도를 향상시키기 위함이다.일반적으로 GET 응답만 캐싱하며, 를 구조 형태로 가진다.캐싱한 리소스의 위치는 브라우저의 private cache 에 존재할 수도 있고, 프록시 서버(proxy, reverse proxy, CDN) 의 Shared Cache 로 존재할 수도 있다. 2. HTTP Cache 동작 원리cache hit : 클라이언트가 요청한 데이터가 캐시되어 있는 경우, 캐시에 존재하는 데이터를 클라이언트에게 전달cache miss : 클라이언트가 요청한 데이터가 캐시되어 있지 않은 경우, 서버로 부터 데이터를 조회해 클라이언트에게 전달 (해당 데이터는 캐시에 저장)cache revalidation캐시의 사본이 최신..
1. 개념 및 용어 정리[1] DNSDNS 는 도메인에 알맞는 IP 주소로 변환을 해주는 역할을 하는 서버이다. 유저는 IP보다 문자로 표현된 도메인 주소를 더욱 잘 기억하고 활용하기 때문에 도메인을 사용한다. 도메인을 IP 로 변환하는 과정은 아래와 같다./etc/hosts 파일에 정적으로 설정한 정보를 조회한다.local DNS Cache 를 조회한다./etc/resolv.conf 파일에 설정된 정보를 기반으로 DNS 서버에 질의한다.DNS server 는 정보가 있으면 IP 주소를 반환하고, 없으면 본인의 상위 DNS 서버에게 질의하여 정보를 받아온다.도메인에 해당하는 IP 를 DNS Cache 에 추가한다. [2] reverse-proxyReverse-Proxy 는 하나 이상의 웹 서버 앞에 위..
1. 용어 및 개념 정리[1] Bastion Server ?? Bastion 용어는 성 외곽을 보호하기 위해 돌출된 부분을 말하며, 적으로부터 효과적으로 방어하기 위한 수단이다. Network 에서 Bastion 는 Public, Private Network 에 대한 엑세스를 제공하기 위한 보안 엑세스를 제공하는 주체를 말한다. 쉽게 말하면 관리자가 server terminal 에 접근하기 위한 진입점이다. Bastion Server 를 별도로 구성하는 이유는 서버 터미널 접근에 대한 대응, 서비스 영향 최소화, 서비스 정상 트래픽 구분, 서비스 영향 최소화 3가지 이다. Basiton Server 는 아래와 같은 문제에 대해 대응할 수 있다.높은 트래픽이나 디도스 공격으로 인한 대역폭 점유로 인해..