Consistent hashing: 웹서버의 갯수가 변동하는 가운데 요청을 분산하는 방법. 출처: wikipedia 해시테이블의 크기가 변할때, 평균적으로 K/n의 키만 재매핑되면 된다. 즉, 노드나 슬롯의 개수가 바뀔때, 노드의 추가나 삭제를 할 때, 오직 K/n의 아이템만 다시섞이면 됨. (n은 전체 노드의 갯수, K는 item의 개수) 기존의 해싱에서는 슬록의 개수 변화가 거의 모든 키가 다시 재매핑되야만 했다. (키와 슬롯간의 매핑이 모듈러 연산에 의해 정의되었기 때문) Consitent hashing이 사용되는 상황Consistent hashing은 분산 캐싱을 위해 나오게 되었다. 이는 변화하는 웹서버들의 수들 사이에서 요청을 분산하는 방법의 하나로 소개되었다. 또한 consistent has..
사용자 이름/메일 주소 설정 $ git config --global user.name "Firstname Lastname"$ git config --global user.email "your_email@example.com" 위의 명령어를 입력하면 ~/.gitconfig에서 확인이 가능함.(해당 파일을 직접 편집해도 무관) 출력되는 명령어를 쉽게 읽을 수 있게 하는법 $ git config --global color.ui auto git 기본 사용 git init: repository 초기화git status: repository 상태 확인git add: staging area에 파일 추가ex) git add README.mdex) git add *git commit: repository 변경 내용 기록..
원문: (https://medium.com/@jeeyoungk/how-sharding-works-b4dec46b3f6#.234lgjddv) How Sharding Works 서비스가 갑자기 인기가 많아져서 트래픽과 데이터가 증가하기 시작하고, 데이터베이스에는 과부하가 걸릴 것이다. 이때 샤딩을 할 필요가 있다. What is sharding?샤딩이란 단일의 논리적 데이터셋을 다수의 데이터베이스에 쪼개고 나누는 방법. 이렇게 쪼갬으로써 데이터베이스 시스템의 클러스터에서 큰 데이터셋을 저장하고 추가적인 요청을 처리할 수 있다. 샤딩이란 데이터셋이 단일 데이터베이스에서 저장하기에 너무 클때 필수적이다. 게다가, 많은 샤딩 전략들이 추가적인 머신들이 붙을 수 있도록 만든다. 샤딩은 데이터베이스 클러스터가 디비의..
DNS - 인터넷 디렉터리 서비스 인터넷 호스트에 대한 식별자중 하나로 host name이 있다.www.naver.com, www.google.com그러나 호스트 네임은 인터넷에서의 그 호스트 위치에 대한 정보를 거의 제공하지 않음또 호스트 네임은 길이가 바뀌고 알파뉴메릭 문자로 구성되기에 라우터가 처리하는 데 어려움이 있다.이런 이유로 호스트는 주로 IP 주소로 식별된다.IP 주소는 계층 구조여서 주소를 왼쪽에서 오른쪽으로 조사함으로써 그 호스트가 어디에 위치하는지에 대한 정보를 얻을 수 있다. DNS가 제공하는 서비스 사람은 좀더 기억하기 쉬운 호스트 네임 식별자를 좋아하지만, 라우터는 고정 길이의 계층구조를 가진 IP 주소를 좋아한다.이런 선호 차이를 절충하기 위해, hostname -> IP ad..
UDP 서비스 UDP는 최소의 서비스 모델을 가진 간단한 전송 프로토콜. UDP는 비연결형이라 두 프로세스간 통신 전에 핸드쉐이킹을 하지 않음 UDP는 비신뢰적인 데이터 전송 서비스 제공(UDP는 메시지가 수신 소켓에 도착하는 것을 보장하지 않음) UDP는 혼잡제어 방식을 포함하지 않음. 따라서 UDP의 송신 측은 데이터를 원하는 속도로 하위 계층(네트워크 계층)으로 보낼 수 있음. 이를 통해 일부 손실은 감수할 수 있으나 효율적이기 위해서 최소 전송 속도를 요구하기에 실시간 애플리케이션 개발자들은 때떄로 애플리케이션이 UDP상에서 수행되는 것을 선택함. 이로써 TCP의 혼잡제어와 패킷 오버헤드 문제를 회피가능함. 반면 대부분의 방화벽이 UDP 트래픽을 차단하도록 설정되어 있기 떄문에 설계자들은 점차적으..
- Total
- Today
- Yesterday
- slf4j
- Spring
- good practice
- Apache
- webserver
- async
- object
- runtime data areas
- java
- log
- logging
- TaskExecutor
- logging facade
- JVM
- NGINX
- linux
- lood
- logback
- log level
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |