기타 정보: 169개의 글
우리가 애플리케이션을 개발하면서 50명 정도의 이용 고객을 예상하고 서버를 구축했는데, 생각보다 인기가 많아져서 500명이 사용하는 애플리케이션이 되었다고 가정해보자. 이러한 경우 기존에 사용하던 서버로는 한계가 있다. 따라서 스케일 업과 스케일 아웃중 하나를 선택해서 인프라를 재구성 해야 한다. 스케일 업 vs 스케일 아웃 🔍스케일 업(Scale up) 스케일 업 이란, 우리가 현재 사용하고 있는 서버 자체의 성능을 증강시켜 처리 능력을 향상시키는 것으로, CPU 업그레이드 또는 RAM 추가 등으로 하드웨어 장비의 성능을 높이는 접근 방법이다. 스케일업은 비교적 접근하기도 쉽고, 실천하기도 쉬운 방법이다. 실제로 우리가 사용하는 컴퓨터가 느려졌다면 성능이 더 좋은 새로운 컴퓨터를 구매하는것이 가장 간편..
서버가 두 개 이상일 경우 발생하는 세션 불일치 문제 해결하기 지난번에 포스팅했던 서버를 확장하는 방법에서 scale out 방식으로 서버를 확장했을때 발생하는 문제점 중 하나인 세션 불일치 문제를 해결하기 위한 방법을 알아보자. 세션의 불일치가 무슨뜻일까? 단일 서버 환경에서는 session을 통한 로그인을 구현할때 session 불일치 문제를 신경쓸 필요가 없었다. 하지만 우리가 만든 프로젝트가 유명해져서 한대의 서버로 운영하는것이 불가능해졌다고 가정해보자. scale-out 방식을 사용해서 서버를 여러대로 늘렸을 때 발생하는 문제점중 하나가 바로 세션 불일치 문제다. 아래 그림들을 통해 무슨뜻인지 이해해보자. 먼저 3대의 서버중 서버1에서 로그인을 진행했다. 이 경우, 서버1에서는 해당 클라이언트의..
OSI 스위치에 대해 알아보기 전에 osi가 먼지 부터 알고 넘어가셨으면 해서 작성해봅니다. 우선 저또한 네트워크쪽에 지식이 부족하여 위키백과에 검색해본 내용입니다 - OSI 모형(Open Systems Interconnection Reference Model)은 국제표준화기구(ISO)에서 개발한 모델로, 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나누어 설명한 것이다. 일반적으로 OSI 7 계층 모형이라고 한다 - 이 모델은 프로토콜을 기능별로 나눈 것이다. 각 계층은 하위 계층의 기능만을 이용하고, 상위 계층에게 기능을 제공한다. '프로토콜 스택' 혹은 '스택'은 이러한 계층들로 구성되는 프로토콜 시스템이 구현된 시스템을 가리키는데, 프로토콜 스택은 하드웨어나 소프트웨어 혹은 둘의 혼합으로 구..
WEP은 유선 랜에서 제공하는 것과 유사한 수준의 보안 및 기밀 보호를 무선 랜에 제공하기 위하여 Wi-Fi 표준에 정의되어 있는 보안 프로토콜이다. 유선 랜은 일반적으로 빌딩에 출입하는 것을 통제하는 것과 같이, 물리적 보안 절차에 의해 보호될 수 있지만, 무선 랜의 경우에는 특정 네트웍에 사용되는 무선 파장이 벽체에 의해 한계 지어지지 않으므로 이러한 보안 방식은 유효하지 않다. WEP은 무선 랜을 통해 전송되는 데이터를 암호화함으로써 우선 네트웍의 물리적인 보안 대책에서 제공되는 것과 비슷한 방호를 제정하는 것을 추구한다. 데이터 암호화는 클라이언트와 AP 사이의 취약한 무선 링크를 보호하며, 일단 이 방법이 취해지면 기밀 보호를 확실히 하기 위해 암호 보호, 전구간 암호화 VPN, 그리고 인증 등..
서브넷이란 무엇인가? 하나의 IP 네트워크 주소를 지역적으로 나누어 이 하나의 네트워크 IP 주소가 실제로 여러개의 서로 연결된 지역 네트워크로 사용할 수 있도록 하는 방법이다. 여기서 중요한 단어는 "자역적"라는 것이다. 머신 바깥의 세계와 서브넷으로 나뉜 IP 네트워크에 포함되는 실제 네트워크는 어떤 사항이 바뀌더라도 여전히 하나의 IP 네트워크이다. 기억해야 할 것은 하나의 IP 네트워크는 오직 하나의 네트워크에서만 사용될 수 있다는 것이다. 서브넷 마스크란? 말뜻 그대로 서브, 즉 메인이 아닌 어떤 가공을 통한 네트워크를 만들기 위해서 씌우는 마스크라고 생각하면 됩니다. 서브넷 마스크역할은 IP주소를 가지고 어디까지나 네트워크 부분이고 어디까지가 호스트부분인가를 나타내는 역할이다. 디폴트 서브넷 ..
1. Round Robin - Real Server로 session을 순차적으로 맺어주는 방식. - 현재의 서버가 가지고 있는 session수는 관여하지 않음. - weighting 옵션이 지원됨. 모든 클라이언트는 동일하게 취급되며 실서버 혹은 경로는 같은 처리량을 보유해야 함. SLB에 많이 사용되며 만약 각기 다른 처리 능력을 가진 서버가 있을 경우 weigted round-robin 알고리즘이 더 효율적. roundrobin은 리얼서버의 마지막 번호를 가진 서버로부터 출발하여 순차적으로 세션을 맺도록 해주는 로드밸런싱 기법. 예를 들어 5대의 서버가 있다면.. 5, 4, 3, 2, 1, 1, 2, 3, 4, 5, 4, 3, 2, 1........ 위와같은 순서로 로드밸런싱 하게 됨. 특별한 서비스..
힙 자료구조 힙 자료구조는 원소 값들 중에서 최대값과 최소값을 구하는데 효율적인 자료 구조를 의미합니다. 트리의 개념을 공부하고 싶으면 04 트리와 이진트리 (Tree & Binary Tree) 기본 여기를 참조해주세요. 힙은 완전 이진 트리의 형태를 가지면서 동시에 다음과 같은 힙 성질을 만족해야 합니다. ● 부모노드가 자식노드보다 큰 경우 - 최대 힙 ● 부모노드가 자식노드보다 작은 경우 - 최소 힙 ▶ 이번 게시글에서는 최대 힙을 기준으로 설명 하겠습니다. 왼쪽 최대 힙을 보면 모두 부모 노드의 값이 자식 노드 값보다 큰 형태를 이루고 있습니다. 부모 노드 50의 경우 자식 노드 25와 40보다 크며, 부모 노드 25는 자식 노드 12와 14보다 큰 형태를 이루고 있습니다. 즉, 힙의 이러한 성질 ..
트리 (Tree) 계층적인 구조를 표현하기 위한 자료구조로 여러 노드가 한 노드를 가리킬 수 없는 구조를 의미합니다. 일반적으로 조직도, 디렉토리 구조등을 생각하면 됩니다. 스택이나 큐와 같은 선형구조가 아닌 뒤집어놓은 나무 모양 같은 계층구조를 가지며, 탐색이나 계층적 구조를 가져야 하는 데이터를 다루는데 많이 사용됩니다. 트리의 특징 ▶ 트리는 노드(A,B,C,D,E,F)와 노드들 사이를 이어주는 링크로 이루어져 있습니다. 트리의 노드가 n개라면 링크의 개수는 n-1개가 됩니다. 최상위 노드 A를 루트 노트라고 부르며 B,C를 가지노드라 하며 D,E,F와 같이 자식을 가지지 않는 최하위 노드들을 리프노드라고 부릅니다. ▶ 트리는 기본적으로 부모-자식 관계를 가집니다. A노드 입장에서는 B,C의 자식 ..
원형큐 (Circular Queue) 원형 큐는 선형 큐의 문제점을 보완하기 위한 자료구조입니다. 앞선 포스팅에서 선형큐의 문제점은 rear이 가르키는 포인터가 배열의 마지막 인덱스를 가르키고 있을 때 앞쪽에서 Dequeue로 발생한 배열의 빈 공간을 활용 할 수가 없었습니다. 원형큐에서는 포인터 증가 방식이 (rear+1)%arraysize 형식으로 변환하기 때문에 배열의 첫 인덱스부터 다시 데이터의 삽입이 가능해집니다. ■ Enqueue rear의 포인터를 1증가 시키고 그 위치에 데이터 삽입이 이루어집니다. 만약 rear+1이 배열의 끝이고 포화상태가 아니라면 배열의 첫 번째 인덱스에 데이터를 삽입합니다. → 배열의 포화상태 여부를 판단하기 위하여 배열의 1칸은 비워둡니다. (rear+1)%arra..
선형 큐 (Linear Queue) 큐는 가장 먼저 들어온 데이터가 가장 먼저 내보내지는 (FIFO : First In First Out) 구조를 가집니다. 선형 큐는 데이터를 집어넣는 Enqueue 기능과 데이터를 내보내는 Dequeue 기능을 제공합니다. ■Enqueue 기능 Enqueue는 큐 자료구조에 데이터를 집어 넣는 기능을 수행합니다. 영화 매표소에 사람들이 줄을 선다고 생각해봅니다. 이때 매표소 가장 앞사람을 가르키는 것을 front라 하고 마지막에 서있는 사람을 가르키는 것을 rear이라고 부릅니다. 1번이 Enqueue 되어진 상태입니다. 첫 번째로 줄을 선 사람이므로 front와 rear이 둘다 1번을 가르키고 있습니다. 다음으로 2번이 Enqueue 기능을 수행 한 상태입니다. Fr..