Database Sharding

Database Shard(이하 샤드)는 데이터베이스 혹은 검색엔진에서 사용하는 데이터의 수평 파티션이다. 각 샤드는 데이터 부하를 분산시키기 위해서 별도의 데이터베이스 서버 인스턴스에 보관된다. 간단히 말해서, 데이터를 분산해서 저장하고 읽게하여서 병렬적으로 성능을 높이기 위한 파티션 방식이라고 생각할 수 있다....

NAT

컴퓨터 네트워크에서 NAT는 IP 패킷 헤더의 IP 주소를 변경하는 일련의 프로세스다.인터넷은 공개망(public network)로 모든 정보가 공개되는 것을 원칙으로 한다.. "모든게 공개된다!!" 멋진 말이긴 하지만 외부로 공개하기 껄끄러운 정보도 있기 마련이다. 예컨데, 기업에서 만들어지는 정보의 상당수는 외부로의 공개를 금지한다. private망은 ...

네트워크 프로그래밍 : TCP/IP 개론

TCP/IP 가 나타난 이유는 컴퓨터간 통신을 위해서 이다. 통신을 얘기할때 빠지지 않는것이 통신의 역사인데 - 언어, 북, 연기, 전화.. 이런식으로 발전을 해왔다. 여기에서 발전을 하게된 계기는 새로운 도구의 발견(혹은 발명)이 결정적인 역할을 하고 있음을 알 수 있다. TCP/IP 는 가장최근에 발명된 컴퓨터와 컴퓨터간의 지역네트워크(LAN) 혹은 광...

Architecture

이번 장에서는 분산 시스템을 위한 주요 아키텍처에 대해서 다룬다. 소프트웨어적인 결과물을 만들기 위해서는 만들고자 하는 소프트웨어에 대한 아이디어를 가지고 있어야 한다. 아이디어 없는 결과물이란 있을 수 없다. 그리고 소프트웨어에 대한 아이디어를 만들기 위해서는 소프트웨어가 작동하는 환경에 대한 지식을 가지고 있어야 한다. GUI 프로그램과 batch 프로...

Tunneling

Tunneling클라우드 환경에서 네트워크 가상화는 스토리지 가상화와 함께 가장 큰 이슈다. 네트워크를 가상화 하기 위한, 즉 논리적으로 구성하기 위한 가장 일반적인 방법으로 오랫동안 VLAN을 사용해왔다. 하지만 VLAN은 몇 가지 치명적일 수도 있는 단점을 가지고 있다. 1. VLAN 크기가 4029로 제한된다. 4029개 이상의 논리적 네트워크를 ...

IP 자세히 보기

IP 자세히 보기 미완성 IP를 헤더 차원에서 좀 더 깊이 정리해 보려한다.이 문서를 읽기전에 아래의 문서들을 먼저 읽어두면 도움이 될 것이다. IP 는 인터넷으로 연결된 호스트들간에 데이터 교환을 지원하기 위해서 만들어진 프로토콜이다. IP는 인터넷 환경에서 host 간 데이타 그램의 교환을 목적으로 하므로 host-to-host 프로토콜이라...

포트번호

인터넷에 연결된 각각의 컴퓨터는 유일한 주소로 식별할 수 있다. 네트워크 프로그램은 IP주소를 이용해서 연결할 컴퓨터를 찾을 수 있다.연결할 컴퓨터를 찾았다면, 이제 서비스를 요청할 프로그램을 찾아야 한다. 이때 사용하는게 포트 번호다. 네트워크 프로그램은 포트번호에 연결이 되고, 는 포트번호를 이용해서 프로그램들을 연결한다.이러한 연결과정은 항만시설에서 ...

UDP

UDPUser Datagram Protocol로 TCP(UDP패킷은 누실될 수도 있고 변조되거나 순서가 뒤바뀔 수도 있는데, 이런 이유로 데이터의 품질이 중요한 서비스에는 잘 사용되지 않는다. 그러나 데이터의 품질보다 연속성이 중요한 멀티미디어 스트리밍 서비스(인터넷방송, 인터넷전화)에는 어울리는 프로토콜 특성을 가지고 있다. 1. 1. 1. 1....

TCP

TCPTransmission Control Protocol의 줄임말이다. 흐름제어소켓이라고 해석할 수 있는데, 실제 TCP대신 흐름제어소켓이라고 말하기도 한다.TCP는 TCP/IP 4계층중 전달계층(transport)에 속하는 프로토콜로 네트워크로 연결된 호스트간의 데이터를 안전하게 전달하기 위한 목적으로 사용되는 프로토콜이다. 데이터의 안전한 전달을 위...

소켓 프로그래밍

소켓 프로그래밍이번 장에서는 네트워크 프로그래밍을 위한 기본적인 기술들을 살펴볼 것이다. 다루는 내용은 호스트와 서비스 주소를 다루는 법과 ,UDP 통신에 대한 것들이다. 그리고 GO API를 이용해서 TCP와 UCP 기반의 네트워크 프로그램을 개발하는 방법도 살펴볼 것이다.네트워크는 시리얼 링크, 구리선, 광섬유, 무선 등 다양한 매체로 구성되어 있다....