개요 여러 프로세스 혹은 스레드가 동시에 같은 데이터를 조작하는 작업을 할 때 타이밍이나 접근 순서에 따라 그 결과 값이 들쑥날쑥 달라질 수 있다. 이러한 상황을 경쟁 조건 (Race Condition) 이라고 한다. 이러한 경쟁 조건에서 데이터 일관성을 지키는 방법으로 여러 동기화 (Synchronization) 작업을 제공한다. 경쟁 조건 (Race Condition) 여러 프로세스나 스레드가 동시에 공유되는 데이터 영역을 접근하려고 할 때 접근의 타이밍이나 순서에 따라 결과가 달라질 수 있는 상황을 의미한다. 동기화 (Synchronization) 경쟁조건 상황에 데이터 일관성을 지킬 수 있도록 제공하는 방법. 동기화 (Synchronization) 동기화 과정에 경쟁조건이 발생할 수 있는 동기화가..
Git의 Database 🔥 깃 (Git) 의 내부에는 Key-Value 데이터베이스가 존재하고 이러한 데이터베이스에는 모든 종류의 콘텐츠를 저장할 수 있다. 𝌞 모든 종류의 콘텐츠 𝌞 Git의 Commit 내용 Git이 관리하는 폴더 명 Git이 관리하는 파일 명 Git이 관리하는 파일 내용 … 💡 모든 형태의 데이터는 해쉬 함수를 거쳐 해시 값을 Key로 하여 Key-Value로 저장한다. 동일한 데이터의 경우 하나 만 저장되기 때문에 데이터를 효율적으로 구성할 수 있다. Git이 많은 커밋을 모두 저장 하면서도 데이터를 가볍게 가져갈 수 있는 방법이다. 🤔 Git의 데이터 베이스는 데이터가 안전하게 보관될 수 있도록 수정(Update)•삭제(Delete)는 제공하지 않고 검색•추가만 가능하다 Git..
Neflix Hystrix 마이크로서비스는 작게 분산되어 있어 하나의 서비스의 문제가 연쇄적으로 소비자에게 전파되는것을 막아야한다. 이를 위해 회복성 패턴을 지원하는데, 이를 손쉽게 사용하기 위한 도구로 Netflix 에서 만든 Hystrix 가 있다. 즉, Hystrix는 마이크로 서비스 아키텍처에 회복성 패턴을 지원하는 도구 모음이라고 할 수 있다. 회복성 패턴의 종류 client-side load balancing bulkhead pattern circuit breaker pattern fallback pattern Hystrix를 활용한 Circuit breaker & Fallback 구현 전제 서비스 디스커버리 ( Eureka )가 구현되어 있다. 이 글의 코드를 Base로 작성하였습니다. 세팅..
메시지 큐 ( MQ : Message Queue ) 메시지 큐란? MOM(Message Oriented Middleware)은 프로세스 혹은 인스턴스 사이에 비동기 통신 방법이다. 이를 구현한 시스템을 메시지 큐(Message Queue) 라고 한다. 이 때, 메시지는 요청, 응답, 오류 메시지등을 의미한다. MQ의 특징 MSA(Micro Service Architecture)에서 서비스 ↔ 서비스 간 비동기 통신 메시지를 큐(Queue)에 임시 저장하고, 해당 메시지가 소비자(Consumer)에 의해 처리 된 후 삭제된다. 큐는 메시지를 임시 저장하는 버퍼라고 할 수 있고, 메시지 큐는 메시지 생산자(Producer)와 소비자(Consumer)간의 일대일 통신 방법이다. 메시지가 큐에 저장된 메시지의 ..
- Total
- Today
- Yesterday
- 동적 타입 언어
- 정적 타입 언어
- 외부 단편화
- 육각형 아키텍처
- RestAssured
- pool
- Sticky Session
- 동적 디스패치
- java
- 수직 분할
- 내부 단편화
- ATDD
- 메모리 파편화
- OOP
- 뾰족함
- pass by value
- 클린 아키텍처
- SpringBoot 2.2
- 장애 해결기
- Object Pool
- 객체 풀
- Memory Fragmentation
- 세션 불일치
- Clean Architecture
- pass by reference
- 수평 분할
- 컴포짓 패턴
- 메모리 단편화
- multimap
- Session
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |