Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Golang
- akka 강좌
- 블록체인
- 파이썬 머신러닝
- hyperledger fabric
- Play2
- 파이썬 강좌
- Adapter 패턴
- 안드로이드 웹뷰
- 파이썬 데이터분석
- 플레이프레임워크
- Hyperledger fabric gossip protocol
- 스칼라
- play 강좌
- 엔터프라이즈 블록체인
- 스칼라 강좌
- play2 강좌
- 하이브리드앱
- 파이썬
- Akka
- 주키퍼
- Actor
- 그라파나
- 이더리움
- 스위프트
- 하이퍼레저 패브릭
- 파이썬 동시성
- CORDA
- Play2 로 웹 개발
- 스칼라 동시성
Archives
- Today
- Total
HAMA 블로그
Vert.x 클러스터링과 공유데이터 본문
Vert.x 클러스터링 (여러 머신상에서 vert.x 인스턴스끼리 데이터공유) 을 할때 대해서 정리
1. ClusterManager 를 사용한다.
ClusterManager clusterManager = ((VertxInternal)vertx).clusterManager();
Map map = clusterManager.getSyncMap("mapName"); // shared distributed map
뒤에 Hazelcast IMap 을 사용하게된다. -cluster
파라미터와 헤즐케스트에 대한 설정을 했다고 가정한다.
이것은 내부 API 로서 사용되므로 ,일반적으로 제품에 대해서 추천하지 않는다. 테스트용으로는 괜찮을지도.
2. 헤즐케스트를 적극적으로 사용한다.
Hazelcast 를 워커버티클에서 직접적으로 접근해서 사용하라 Hazelcast 의 정적함수를 이용.
Set<HazelcastInstance> instances = Hazelcast.getAllHazelcastInstances();
HazelcastInstance hz = instances.stream().findFirst().get();
Map map = hz.getMap("mapName"); // shared distributed map
주의 : . 헤즐케스트 API 는 블러킹되기때문에 워커버티클에서만 사용하라
3. Vert.x 2 버전은 클러스터 공유데이터를 지원하지 않는다. Vert.x 3 부터는 헤즐케스트 클러스터 매니저를
감싼 비동기 api 를 통해서 지원한다. (비동기에 유념하라)
4. 일반적인 공유DB 를 사용하라.
5. 하나의 버티클을 공유맵 인스턴스를 가지고 관리하는 전용으로 만들어라. 다른 버티클들과 이벤트버스를
통해서 관리하라.
6. 어플리케이션을 애초에 공유데이터가 필요없게 만들어라.
http://stackoverflow.com/questions/12299132/clustering-and-shared-data-in-vert-x 참고
'Vert.x' 카테고리의 다른 글
Vert.x 3 의 아버지 Tim Fox 와의 인터뷰 (Node,Akka,마이크로서비스등) (0) | 2016.11.18 |
---|---|
Vert.x 를 이용한 실시간 웹 어플리케이션 (4) (0) | 2015.05.22 |
Vert.x 를 이용한 실시간 웹 어플리케이션 (3) (0) | 2015.05.22 |
Vert.x 를 이용한 실시간 웹 어플리케이션 (2) (0) | 2015.05.22 |
Vert.x 를 이용한 실시간 웹 어플리케이션 (1) (0) | 2015.05.21 |
Comments