본문 바로가기

분류 전체보기38

다중 서버에서의 Session 관리 기존에 단일 서버를 통해 운영하던 서비스의 트래픽이 증가함으로써 Scale-out 방식으로 서버를 확장해야 하는 상황이 찾아왔다고 가정해보자. 기존 서버와 동일한 사양의 서버를 추가함으로써 하나의 서버에서 처리하던 일을 여러 서버에서 분산 처리하게 된다. 하지만 여러 대의 서버가 제공하는 서비스를 이용하는 유저가 마치 한 대의 서버를 이용하는 것 같은 효과를 주기 위해서는 반드시 Session 불일치 문제를 해결해주어야 한다. 여기서 Session 불일치 문제란 서버마다 각각의 세션 저장소를 가지고 있고 가지고 있는 세션들을 공유하지 않기 때문에 발생하는 문제이다. 예를 들어 특정 유저가 로드 밸런싱을 통해 1번 서버에 접속하여 로그인을 하였고 로그인 정보는 A 서버의 세션 저장소에 저장되었다고 생각해보.. 2021. 1. 29.
서버 확장의 방법, 스케일 업과 스케일 아웃 서버를 운영함에 있어서 사용자에게 적절한 서비스를 제공하기 위해서는 그에 맞는 서버 성능을 지니고 있어야만 한다. 500명까지 동시 접속 가능한 서버가 사업 확장 또는 갑작스러운 인기를 끌어 사용자가 폭증하여 1000명의 동시 접속자를 맞이하게 된다면 어떤 일이 발생할까? 당연히 서버는 현재 성능으로는 트래픽을 감당할 수 없기 때문에 서비스를 제대로 제공해주지 못하게 될 것이다. 이러한 상황이 발생했을 때 가장 먼저 해야 할 일은 소프트웨어 적인 최적화를 실시하는 것이다. 하지만 그래도 원활한 서비스를 제공하지 못하는 경우에는 결국 사용자 규모에 맞게 하드웨어 적인 확장을 실시해야만 한다. 서버 관리자는 언제든 확장성의 문제를 직면할 수가 있다. 그렇다면 어떤 방식으로 서버를 확장할 수 있을까? 스케일 .. 2021. 1. 18.
[프로그래머스] 배달 Java programmers.co.kr/learn/courses/30/lessons/12978 코딩테스트 연습 - 배달 5 [[1,2,1],[2,3,3],[5,2,2],[1,4,2],[5,3,1],[5,4,2]] 3 4 6 [[1,2,1],[1,3,2],[2,3,2],[3,4,3],[3,5,2],[3,5,3],[5,6,1]] 4 4 programmers.co.kr 문제 요약 마을의 개수 N, 간선과 그 가중치의 배열 road, 최대 배달 가능 거리 K가 주어진다. 1번 마을에서 부터 배달을 출발하여 거리가 K가 넘지 않는 마을까지 배달이 가능하다. 배달이 가능한 마을의 개수를 반환하는 함수를 만들어야 한다. 문제 풀이 가중치가 할당된 그래프 문제이다. 처음에는 DFS 함수를 하나만들어서 재귀를 이용하며 마을을 .. 2020. 11. 5.
[프로그래머스] 방문길이 Java programmers.co.kr/learn/courses/30/lessons/49994 코딩테스트 연습 - 방문 길이 programmers.co.kr 문제 요약 x좌표와 y좌표가 각각 -5에서부터 5까지 있는 좌표평면이 있다. 게임 캐릭터는 (0, 0)부터 시작하여서 U, D, L, R 각각의 문자마다 위로, 아래로, 왼쪽으로, 오른쪽으로 이동한다. 이동문자가 여러개 있는 문자열을 받아서 그대로 이동할 때 이동의 개수를 중복된 길을 제외하고 반환해야 한다. 문제 풀이 "중복되지 않고" 라는 조건만 보아도 Set으로 푸는 문제임을 알 수 있다. 나는 이동방향, 현재 x좌표, 현재 y좌표로 문자열을 만들어서 문자열에 Set에 넣기로 정했다. 문자열 dirs을 반복문을 통해 한자리 씩 커맨드를 받고 그대로 이.. 2020. 10. 29.