This is an old revision of the document!
Concurrency and Parallelism
기본 개념
Reactive Streams
Back pressure
Publisher가 생산하는 데이터 처리 속도보다 Subscriber가 소비하는 데이터 처리 속도가 늦을 때, 처리를 늦추거나 중단하는 기술.
Scale Cube
https://microservices.io/articles/scalecube.html
Mastering Akka
X axis scailing : 복제. 서버 앞에 Load Balencer를 설정하여 Traffic 분산, 높은 가용성 제공. Monolithic system에서 많이 사용하는 스케일링 방법.
U axis scailing : 분할. 기능별로 애플리케이션 배포.
Z axis scailing : 복제 + 분할. 같은 서비스 컴포넌트를 모든 서버에 복제하지만, 각 서버는 일부 데이터만을 다룬다. 일반적으로 Sharding으로 알려짐. 대표적인 예시가 In-memory caching (like Redis)
활용
Java
Executor
ExecutorService
ScheduledExecutorService
ForkJoinPool
Future
CompletableFuture
Scala
용어