반응형 전체 글346 [Network] 다양한 종류의 로드밸런서(Load Balancing)와 다양한 로드밸런싱 알고리즘 학습 목표 · 로드 밸런서란? · 사용 이유 · 다양한 종류의 로드밸런서 · 다양한 로드밸런싱 알고리즘 - 라운드로빈 - 가중 라운드로빈 - IP 해시 - 최소 연결 - 최소 요청 시간 로드 밸런서란? · 서버에 가해지는 부하(=로드)를 분산(=밸런싱)해주는 장치 또는 기술을 통칭한다. · 서버가 요청을 처리할 수 있는지 확인하기 위해 서버에 지속적인 상태 확인을 수행한다. - 필요한 경우 비정상 서버가 복원될 때까지 풀에서 제외한다. · 증가하는 부하에 대응하기 위해 새로운 가상화 애플리케이션 서버 생성을 트리거하기도 한다. · 전통적으로 로드 밸런서는 하드웨어 기기로 구성되어 왔지만, 점점 소프트웨어 기반으로 되고 있다. 사용 이유 · 시스템을 확장하는 방법 중 스케일 업 보다 스케일 아웃이 더 저렴.. 2021. 11. 29. 분산 서버 환경에서 세션 공유 문제 해결하기 학습 목표 · 분산 서버 환경에서 발생하는 세션 공유 문제 · 고정 세션(Sticky Session) · 데이터베이스를 세션 저장소로 사용하기 · WAS를 사용하여 세션 공유하기 분산 서버 환경에서 발생하는 세션 공유 문제 일반적인 웹 서비스에서 하나의 서버로 부하를 처리할 수 없을 만큼 서비스가 확장되면, 로드 밸런서를 이용한 분산 서버 구조를 사용하여 문제를 해결한다. 이때 하나의 서버로 사용자의 요청을 관리했을 때는 발생하지 않는 문제가 발생한다. 웹에서 사용하는 http 프로토콜은 stateless하다. 즉, 각각의 요청은 이전 요청과 무관한 각각의 요청을 독립적인 트랜잭션으로 취급한다는 의미다. 하지만 사용자 인증, 장바구니 기능, 트래킹, 개인화 등 다양한 이유로 사용자의 상태를 저장해야하는 .. 2021. 11. 29. 부하 테스트란? 부하 테스트 직접 해보기 부하 테스트란? · 임계값 한게에 도달할 때까지 시스템의 부하를 지속적으로 꾸준히 증가시켜 시스템을 테스트하는 것 · 성능 테스트의 하위 집합 부하 테스트의 목적 · 버퍼 오버플로, 메모리 누수 및 잘못된 메모리 관리와 관련된 응용 프로그램의 결함을 노출한다. · 부하 테스팅의 결과로 발견되는 문제는 로드 밸런싱 문제, 대역폭 문제, 기존 시스템의 용량 등이 포함될 수 있다. · 데이터베이스, 하드웨어, 네트워크 등의 응용 프로그램의 모든 구성 요소의 상한을 결정한다. · 미래에 예상되는 애플리케이션에 대한 부하를 관리할 수 있도록 한다. 성능 테스트란? · 특정 부하에서 응답성 및 안정성 측면에서, 시스템이 어떻게 동작하는지 측정하기 위한 비기능 테스트 · 확장성, 신뢰성 및 리소스 사용과 같은 시스템.. 2021. 11. 26. 스프링 세션 (Spring Session)이란? spring-session-jdbc 사용하기 스프링 세션은 서버에 저장되는 HTTP 세션의 한계로부터 세션 관리를 자유롭게 한다는 목표를 갖고 있다. 이러한 해결책으로 특정 애플리케이션 컨테이너(예:톰캣)에 얽매이지 않고, 클러스터링된 세션을 지원하여 클라우드에서 여러 서비스들 사이에 세션 데이터의 공유를 쉽게 만든다. 또한 동일한 브라우저에서 여러 개의 세션 지원하고, 헤더에서 세션을 전송한다. 스프링 세션 사용하기 스프링 세션은 JDBC, MongoDB, Redis 등을 사용하여 데이터를 유지할 수 있다. 여기서는 Spring-Session-JDBC를 사용하여 웹 앱에서 인증 정보를 관리해보자. ▶ 스프링 부트 프로젝트를 생성하고, 다음과 같은 종속성을 추가한다. org.springframework.boot spring-boot-starter-.. 2021. 11. 26. 네이버 클라우드 플랫폼에서 pinpoint 사용하여 스프링부트(Spring Boot) 서버 모니터링하기, Pinpoint Cloud Pinpoint란? · Java로 작성된 대규모 분산 시스템용 APM 도구 - APM: · Application Performance Management의 약자, 응용 소프트웨어의 성능과 서비스 가용성을 모니터링, 관리하는 도구 · Transaction 추적을 제공 · 임계치를 설정하여, Event 발생시 SMS 또는 Email을 통해 알림을 받을 수 있다. · 우아한형제들, 네이버, NHN 등에서 사용중 Pinpoint 사용하기 네이버 클라우드 플랫폼 콘솔로 들어가서 Product&Services 탭을 클릭하고, 하단으로 내려가면 Management - Pinpoint Cloud를 확인할 수 있다. 이것을 클릭한다. 이동한 화면에서 'Repository 생성' 버튼을 클릭한다. 다음과 같이 Reposi.. 2021. 11. 24. JMeter란? JMeter 사용법 JMeter란? · 성능 측정 및 부하(load) 테스트 기능을 제공하는 오픈 소스 자바 애플리케이션 · 다양한 형태의 애플리케이션 테스트를 지원한다. - 웹 - HTTP, HTTPS - SOAP / REST 웹 서비스 - FTP - 데이터베이스 (JDBC 사용) - Mail (SMTP, POP3, IMAP) · CLI를 지원한다. - CI, CD 툴과 연동할 때 편리하다. - UI를 사용하는 것보다 메모리 등 시스템 리소스를 적게 사용한다. · 자바 Swing으로 만들어진 UI를 사용한다. · XML을 통해 테스트를 실행한다. · 대체재: - nGrinder (https://naver.github.io/ngrinder/) - Gating (https://gatling.io/) JMeter 설치 http.. 2021. 11. 23. 이전 1 ··· 15 16 17 18 19 20 21 ··· 58 다음 반응형