
처음 이 문장을 읽었을 때 auto_increment 속성이 설정된 관계형 데이터베이스의 기본 키를 쓰면 되지 않을까?하고 생각했다.하지만 분산 환경에서 이 접근법은 데이터베이스 서버 한 대로는 요구를 감당할 수 없을 뿐더러, 여러 데이터베이스 서버를 쓰는 경우에는 지연시간(delay)를 낮추기가 힘들기 때문에 통하지 않는다는 것을 깨달았다. 역시 대규모 시스템 설계시엔 고려해야할 부분이 많은 것 같다. 요구사항이 다음과 같을 때 ID는 유일해야 한다.ID는 숫자로만 구성되어야 한다.ID는 64비트로 표현될 수 있는 값이어야 한다.ID는 발급 날짜에 따라 정렬 가능해야 한다.초당 10,000개의 ID를 만들 수 있어야 한다.분산 시스템에서 유일성이 보장되는 ID를 만드는 방법들에 대해 알아보자. 1. 다..

네트워크 시스템에서는 클라이언트 또는 서비스가 보내는 트래픽의 처리율을 제어하기 위한 처리율 제한 장치(rate limiter)가 필요한데, 처리율 제한 장치와 처리율 제한 알고리즘에 대해 알아보자. 1. 토큰 버킷 알고리즘 (token bucket)지정된 용량을 갖는 컨테이너이 버킷에는 사전 설정된 양의 토큰이 주기적으로 채워짐. 토큰이 꽉 찬 버킷에는 더 이상의 토큰은 추가되지 않는데, 토큰 공급기가 이 버킷에 매초 2개의 토큰을 추가하고, 버킷이 가득 차면 추가로 공급된 토큰은 버려지는 구조각 요청이 처리될 때마다 하나의 토큰을 사용하고 요청이 도착하면 버킷에 충분한 토큰이 있는지 검사하고, 충분한 토큰이 있는 경우 버킷에서 토큰 하나를 꺼낸 후 요청을 시스템에 전달한다. 충분한 토큰이 없는 경우,..

이 포스팅은 이전 포스팅과 이어지므로 이전 포스팅을 먼저 보기를 권장한다.이번 포스팅에서는 현재 프로젝트의 구조와 MSA로 전환하기 위해 어떤 과정이 필요한지 알아보자. ✨ 시리즈 구성1. OTP 기반 2단계 인증 시스템 직접 구현해보기 - 1 시스템 아키텍처 및 3단계 인증 흐름 2. OTP 기반 2단계 인증 시스템 직접 구현해보기 - 2 인증 서버를 구현해보자.3. OTP 기반 2단계 인증 시스템 직접 구현해보기 - 3 비즈니스 논리 서버를 구현해보자.4. OTP 기반 2단계 인증 시스템 직접 구현해보기 - 4 인증 서버와 비즈니스 논리 서버가 잘 동작하는지 확인해보자.5. OTP 기반 2단계 인증 시스템 직접 구현해보기 - 5 멀티 모듈 구조를 MSA 구조로 리팩토링해보자. 5-1. 현재 프로..

이 포스팅은 이전 포스팅과 이어지므로 이전 포스팅을 먼저 보기를 권장한다.이번 포스팅에서는 현재 프로젝트의 구조와 MSA로 전환하기 위해 어떤 과정이 필요한지 알아보자. ✨ 시리즈 구성1. OTP 기반 2단계 인증 시스템 직접 구현해보기 - 1 시스템 아키텍처 및 3단계 인증 흐름 2. OTP 기반 2단계 인증 시스템 직접 구현해보기 - 2 인증 서버를 구현해보자.3. OTP 기반 2단계 인증 시스템 직접 구현해보기 - 3 비즈니스 논리 서버를 구현해보자.4. OTP 기반 2단계 인증 시스템 직접 구현해보기 - 4 인증 서버와 비즈니스 논리 서버가 잘 동작하는지 확인해보자.5. OTP 기반 2단계 인증 시스템 직접 구현해보기 - 5 멀티 모듈 구조를 MSA 구조로 리팩토링해보자. 5-1. 현재 프로..
- Total
- Today
- Yesterday
- 백준
- 챌린지
- JPA
- 자바의 정석
- Java
- MSA
- hackerrank
- 이코테
- 22 정보처리 산업기사
- 정보처리산업기사
- 소스코드
- 자바
- 해커랭크
- 디버깅
- Spring Security
- 그리디
- challenges
- 나동빈
- 해커랭크 챌린지
- 해커랭크 자바 챌린지
- 강의
- BAEKJOON
- 코드
- 22 정보처리산업기사
- 정보처리 산업기사
- queue
- hackerrank challenges
- ORM
- 해커랭크 자바
- 정보처리산업기사 공부법
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |