일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- dfs
- docker
- 단위테스트
- spring cloud netflix zuul
- BFS
- spring cloud netflix
- netflix
- unit
- Eureka
- zuul
- netflix eureka
- spring cloud
- unittest
- code refactoring
- microservice architecture
- container image #docker #layer #filesystem #content addressable
- forkandjoinpool #threadpool #jvm #async #non-blocking
- 서비스스펙
- Dynamic Routing
- springcloud
- reactive
- 탐색
- Java
- java #jvm #reference #gc #strong reference
- test
- Spring Data Redis
- 설계
- spring cloud netflix eureka
- api-gateway
- Today
- Total
phantasmicmeans 기술 블로그
Publisher Rective Stream에서 정의하는 Publisher는 sequential한 element들을 제공하는 provider이고, Subscriber의 요구에 따라 publish 한다. 앞서 살펴보았던 Observable과 동등한 의미로 보면 된다. Observable은 registerObserver(Observer observer)로 subscriber를 등록했다면, Publisher는 subcribe(Subscriber
앞선 글에서 Observer pattern + Iterator 패턴(이벤트의 끝, 그리고 Error) == Reactive Stream이라고 정리했다. 이와 더불어 토비의 리액티브 스트림 첫 강의에서 나온 Iterable Observable (Duality) 에 대해 짚고 넘어가자 Duality Iterable Observable [Iterable] [Observable] [Pull] [Push] [값을 끌어온다는 의미] [값을 가져가라는 의미] [iterator.next()] [notifyObservers(arg)] Iterable, Observable Pull, Push 먼저 Iterable과 Observable의 Pull-Push 차이를 보자. Iterable을 구현한 클래스들은 for-each s..
Iterator 반복자 패턴 RxJava(ReactiveX)는 Observer pattern, Iterator pattern 및 함수형 프로그래밍의 조합으로 사용된다. Observer pattern은 무한한 데이터 스트림에 매력적이다. 그러나 데이터 스트림의 끝 을 알리는 기능이 없고, 에러 전파 메커니즘 또한 포함하고 있지 않다. 또한 consumer가 준비되기 전 producer가 이벤트를 생성하는 것은 그다지 좋은 상황도 아니다. 동기식의 경우 이런 때를 대비해서 Iterator 패턴이 존재한다. public interface Iterator { T next(); boolean hasNext(); } 위 Iterator interface는 하나씩 항목을 검사하기 위한 next() method와 다음..
관찰자 패턴은 관찰자라고 불리는 자손의 리스트를 가지고 있는 주체(Subject) 를 필요로한다. 주체는 일반적으로 자신의 메서드 중 하나(e.g. notify)를 호출해 관찰자에게 상태 변경을 알리게 된다. GoF 에서의 옵저버 패턴 설명 객체 사이에 일대 다의 의존 관계를 정의해두어, 어떤 객체의 상태가 변할 때 그 객체의 의존성을 가진 다른 객체들이 변화를 통지받고 자동으로 갱신될 수 있게 만든다. 이 패턴은 이벤트 처리 기반 시스템에 필수적 e.g. MVC 패턴, 거의 모든 UI 라이브러리가 내부적으로 이 패턴 사용 Subject - Observer 는 1:N 관계를 이룰 수 있음. Subject |- Observer |- Observer |- Observer |- Observer 일반적인 옵저버..

version 4.0 기준 OS Memory 페이지 캐시와 힙 공간 구성 후에도 RAM 공간이 어느정도 남아야함 → 없으면 디스크로 swapping 되어 성능에 영향 1GB가 좋은 출발점이라고 함 Lucene index cache 인덱싱 기능 중 일부를 apache lucene으로 사용함. 명시적으로 지정해주지 않으면 native-btree index 사용 (apache lucene은 사용 안함) 인덱스가 메모리에 캐시 되도록 하여 성능 최적화 Page Cache 페이지 캐시는 Neo4j data와 native index를 캐시하는데 사용 됨. 디스크 액세스 비용 감소시킴. Neo4j 가 페이지 캐시에 사용할 수 있는 메모리 크기는 dbms.memory.pagecache.size로 지정 가능 실제 데이터..