Server 6

[Benchmark] NoSQL - Geo Index가 위치데이터 연산에 유리한 이유

2019-07-08 ~ 2019-07-29 간 진행한 내용입니다. 목차 연구배경 및 요약 벤치마크 시나리오 벤치마크 결과 분석 결론 1 - 연구배경 및 요약 ArangoDB는 Geo Index를 포함하여 다양한 Index를 지원한다. 그 중에서 다른 DB에서는 흔히 보기 어려운 Geo Index에 대해서 궁금해졌고, 위치 데이터 연산을 하는 상황에서 실제로 Geo Index가 기존에 많이 쓰이는 다른 Index와 비교해서 속도가 더 빠른지 벤치마크를 통해서 검증해보고 그에 대한 이유를 분석했다. 2 - 벤치마크 시나리오 2 - 1) 시나리오 매번 랜덤한 위치를 중심으로 일정범위(1km) 내 데이터를 최대 300건까지 조회하는 상황 배달의 민족,1km 같은 위치기반 데이팅 어플과 비슷한 경우를 가정함 Ge..

Server 2022.05.25

Process와 Thread

정의 Process 실행중인 프로그램을 말한다. 운영체제로부터 시스템 자원을 할당 받는 작업의 단위를 말한다. 프로그램을 실행하면 OS로 부터 메모리를 할당받아 프로세스가 된다. 정리 : 운영체제에서 자원을 할당받아 실행중인 프로그램이다. Thread 프로세스 내에서 실행되는 흐름의 단위. 할당 받은 자원을 이용하는 실행의 단위. 프로세스 안에서 여러개가 생길 수 있다. 프로세스의 자원을 이용해서 실제로 작업을 수행하는것을 쓰레드라고 말할 수 있다. 경량 프로세스라고 불리기도 한다. 정리 : 쓰레드는 프로세스 안에서 실제로 작업을 수행하는 실행단위이다. Multi Process 하나의 응용프로그램을 여러개의 프로세스로 구성하여 하나의 작업을 처리하게 하는것이다. Multi thread 하나의 응용프로그램..

Server 2022.04.04

Cookie / Session - sticky session / session clustering

정의 HTTP프로토콜의 비연결성과 무상태성을 보완하기 위하여 사용하는 기록정보 파일을 말한다. 쿠키 클라이언트가 어떤 웹사이트를 방문할 경우 그 사이트의 서버를 통해 클라이언트 브라우저에 저장되는 기록정보 파일을 말한다. 세션 클라이언트가 어떤 웹사이트를 방문할 경우 그 사이트의 서버에 저장되고 관리하는 기록정보파일을 말한다. 구조/특징 쿠키 key-value형식으로 저장된다. HttpServletResponse: Status = 200 Headers = [Set-Cookie:"userName=ssg", "password=ssg123"] 서버에서 클라이언트로 Response객체를 보낼때 응답헤더의 Set-Cookie에 담아 전송한다. HttpServletRequest: HTTP Method = GET R..

Server 2022.02.12

nginx - react - springboot 환경에서 cors이슈해결기록

신규프로젝트 초기설정 진행중 AWS EC2에서 docker로 배포하고 react는 node로 띄우고 springboot는 tomcat으로 띄워쓰는 상황. proxy를 설정하여 cors를 해결하면 dev에만 적용된다. 배포환경에서 해결할떄는 api server단에서 설정 개발환경에서는 package.json에 "proxy" : "[uri]"설정하거나 http-proxy-middleware설치하여 설정잡아서 해결 운영환경에서는 springboot쪽에 WebMvcConfigurer를 implement받은 클래스를 생성하여 addCorsMappings를 오버라이드하여 설정함. 리액트단에서 axios.defaults.baseURL = process.env.NODE_ENV === 'development' ? '[d..

Server 2021.05.20

웹서버 비동기 방식과 동기 방식의 차이점, 장단점, 특징

웹서버에서 요청을 처리하는 방식은 크게 동기방식과 비동기방식 두 가지로 나누어 볼 수 있다 1. 동기방식웹서버에 클라이언트로부터 요청이 들어왔을때 스레드풀에서 스레드를 꺼내거나 프로세스를 복제하는 방식으로요청이나 연결당 스레드 혹은 프로세스를 할당하여 처리하는 방법을 말한다. 1 - 1 동기방식의 장점-서버의 사양이 넉넉해서 많은 스레드를 감당해낼수 있는 경우 성능이 좋다-요청의 갯수가 적고 요청의 크기가 큰 경우 동기방식을 이용하는게 좋다. 1 - 2 동기방식의 단점 -입출력 요청이 있을때 입출력처리가 끝날때까지 스레드가 메모리버퍼에 데이터를 차지하기 때문에 입출력요청이 처리되는 동안 메모리가 낭비되는 상황이 생길 수 있다.-요청의 갯수가 많아지면 많아질수록 스레드를 생성하므로 많은 요청이 들어오는 경..

Server 2018.08.16