분산 시스템에서의 hash
·
Interview/Etc
분산 시스템에서의 hash분산 시스템에서의 해시(hash)는 데이터나 요청을 효율적으로 분산하고 관리하기 위해 사용되는 기술입니다. 해시는 데이터를 고정된 크기의 숫자나 문자열로 매핑하는 알고리즘을 의미하며, 이를 통해 데이터의 위치를 효율적으로 계산하거나 라우팅할 수 있습니다. 해시를 사용하는 이유와 활용 방식을 좀 더 구체적으로 설명하겠습니다.분산 시스템에서 해시의 역할데이터 분산: 분산 시스템에서는 데이터를 여러 노드에 분산 저장해야 하는데, 이때 해시 알고리즘을 사용해 데이터를 특정 노드에 매핑합니다. 예를 들어, 데이터의 키 값을 해싱하여 이를 통해 해당 데이터가 저장될 노드를 결정할 수 있습니다.로드 밸런싱: 해시를 통해 요청이 적절하게 분배되도록 하여 로드 밸런싱을 수행할 수 있습니다. 예를..
동기(Synchronous)와 비동기식(Asynchronous)의 차이
·
Interview/Network
동기(Synchronous)와 비동기식(Asynchronous)의 차이동기식(Synchronous)와 비동기식(Asynchronous)의 차이는 작업을 처리하는 방식과 그에 따른 흐름 제어에 있습니다. 아래에 자세히 설명해드리겠습니다.동기식 (Synchronous)정의: 동기식 방식은 한 작업이 완료될 때까지 다른 작업이 대기하는 구조입니다. 작업 A가 끝나야 작업 B를 시작할 수 있습니다.특징:순차적 처리: 작업이 순서대로 진행됩니다. A가 끝나야 B가 시작되고, B가 끝나야 C가 시작됩니다.작업 완료 대기: 다음 작업을 시작하려면 현재 작업이 끝날 때까지 기다립니다.사용 예시: 많은 API 호출이나 파일 I/O 작업에서 동기적인 방식을 사용합니다. 예를 들어, REST API에서 GET 요청을 보낸 ..
DNS 서버
·
Interview/Network
DNS 서버DNS (Domain Name System) 서버는 도메인 이름과 IP 주소 간의 매핑을 관리하는 역할을 합니다. 사람들이 웹사이트에 접속할 때, 예를 들어 www.example.com 같은 도메인 이름을 사용하지만, 컴퓨터와 네트워크 장치는 IP 주소를 통해 통신합니다.DNS 서버는 사용자가 입력한 도메인 이름을 해당하는 IP 주소로 변환해 주어, 사용자가 쉽게 기억할 수 있는 도메인 이름을 사용하여 웹사이트에 접근할 수 있게 해줍니다.이 과정을 "도메인 이름 해석" 또는 "DNS 조회"라고 하며, DNS 서버는 이러한 해석 작업을 수행하여 사용자가 특정 웹사이트나 서비스에 빠르게 연결되도록 도와줍니다.DNS ResolveDNS resolve(또는 DNS 해석)는 도메인 이름을 해당하는 IP..
Load balancing 로드 밸런싱
·
Interview/Network
Load balancing 로드 밸런싱로드밸런싱은 여러 서버 또는 네트워크 장비에 걸쳐서 네트워크 트래픽이나 컴퓨팅 부하를 분산시키는 기술을 의미합니다.주요 목표는 하나의 서버에 트래픽이나 부하가 집중되는 것을 방지하고, 전체 시스템의 성능, 가용성, 신뢰성을 향상시키는 것입니다. 로드밸런서는 이 역할을 수행하는 장비나 소프트웨어를 의미합니다.1. 로드밸런싱로드밸런싱의 필요성성능 향상: 여러 서버로 트래픽을 분산시킴으로써 각 서버의 처리 성능을 최적화할 수 있습니다.가용성 증가: 하나의 서버가 장애를 일으키더라도 다른 서버가 대신 처리할 수 있게 하여 서비스의 가용성을 보장합니다.확장성 향상: 서버 수를 추가하여 손쉽게 시스템을 확장할 수 있으며, 확장성 있는 시스템 구조를 유지할 수 있습니다.로드밸런싱..
L4 vs L7 스위칭 장비
·
Interview/Network
L4 vs L7 스위칭 장비L4와 L7 네트워크 장비는 OSI 모델의 4계층과 7계층에서 동작하는 장비로, 주로 트래픽 관리와 데이터 흐름 제어를 위한 역할을 합니다. 두 계층의 차이점과 각각의 기능에 대해 상세히 설명하겠습니다.1. L4 네트워크 장비 (전송 계층)1.1 정의:L4 장비는 OSI 모델의 전송 계층에서 작동하며, 주로 TCP/UDP 프로토콜을 기반으로 트래픽을 처리합니다.1.2 기능:로드 밸런싱: L4 장비는 클라이언트 요청을 여러 서버에 분산시켜 서버의 부하를 균형 있게 조절합니다. 주로 IP 주소와 포트 번호를 기반으로 결정을 내립니다.트래픽 관리: TCP 세션의 상태를 유지하고 세션을 관리하여 안정적인 연결을 제공합니다.성능 최적화: 패킷 수준에서의 스위칭과 라우팅을 통해 지연을 최..
Network Address Translation (NAT)
·
Interview/Network
Network Address Translation (NAT)NAT(Network Address Translation)는 네트워크 장치(일반적으로 라우터)가 내부 네트워크의 IP 주소를 외부 네트워크로 나가는 패킷의 IP 주소로 변환하는 기술입니다.이는 내부 네트워크에서 사용되는 사설 IP 주소와 외부 네트워크(인터넷)에서 사용되는 공인 IP 주소 사이에서 통신을 가능하게 하며, 네트워크 보안과 IP 주소 절약 측면에서 매우 중요한 역할을 합니다.1. NAT의 기본 개념사설 IP 주소: 일반적으로 가정이나 기업의 내부 네트워크에서 사용되는 IP 주소입니다. 이 주소는 외부 인터넷에서는 직접 사용할 수 없으며, 인터넷 상에서 고유하지 않습니다.사설 IP 주소(Private IP Address)는 내부 네트워..
벨만 포드 Bellman-Ford
·
Interview/Algorithm
벨만 포드 Bellman-Ford벨만 포드(Bellman-Ford) 알고리즘은 그래프에서 음의 가중치가 있는 간선을 포함한 최단 경로 문제를 해결할 수 있는 알고리즘입니다. 다익스트라(Dijkstra) 알고리즘과 달리 벨만 포드는 음의 가중치도 허용하며, 음의 사이클(negative cycle)이 존재하는지 여부도 확인할 수 있습니다.벨만 포드 알고리즘의 주요 특징그래프: 방향 그래프(directed graph)와 음수 가중치를 허용하는 간선에서 동작.시간 복잡도: O(V * E), 여기서 V는 정점의 수, E는 간선의 수.출발점: 하나의 시작 노드로부터 모든 다른 노드까지의 최단 경로를 계산.음수 사이클 검출: 음의 가중치 사이클이 존재하는지 확인할 수 있음. 사이클이 존재하면 최단 경로를 정의할 수 ..
다익스트라 알고리즘 Dijkstra's Algorithm
·
Interview/Algorithm
다익스트라 알고리즘 Dijkstra's Algorithm다익스트라 알고리즘(Dijkstra's Algorithm)은 가중치가 있는 그래프에서 한 노드에서 다른 모든 노드까지의 최단 경로를 찾는 알고리즘입니다.이 알고리즘은 양의 가중치를 가진 그래프에서만 동작하며, 대표적으로 네트워크 경로 탐색이나 지도를 통한 길찾기 등에 많이 사용됩니다.다익스트라 알고리즘의 동작 원리초기화시작 노드에서 각 노드로 가는 경로의 거리를 저장하는 배열을 만듭니다. 처음에는 시작 노드의 거리는 0으로 설정하고, 나머지 노드의 거리는 무한대로 설정합니다.우선순위 큐(혹은 최소 힙)를 사용하여 탐색할 노드를 관리합니다.최단 경로 계산시작 노드를 우선순위 큐에 넣고, 그 노드를 기준으로 인접한 노드들의 거리를 계산합니다.인접한 노드..
김 정출
'Interview' 카테고리의 글 목록 (3 Page)