Hazelcast 소개Open Source IMDG(In-Memory Data Grid)
Mobile Convergence Laboratory 1 /
Mobile Convergence Laboratory 2
ONOS와 Hazelcast는무슨 연관?
Mobile Convergence Laboratory 3
Mobile Convergence Laboratory 4
Mobile Convergence Laboratory 5 / 22
Mobile Convergence Laboratory 6 / 22
Mobile Convergence Laboratory 7 / 22
Mobile Convergence Laboratory 8 / 22
• 분산 환경에서 데이터 공유를 위한 In-Memory Data Grid 오픈소스 솔루션
• 자바 기반의 클러스터링과 확장성을 목표로 한 분산 플랫폼
• 물리적으로 떨어져 있는 두 프로그램이 하나의 자료구조를 공유
• Apache 2.0 License
Mobile Convergence Laboratory 9 /
Mobile Convergence Laboratory 10 /
IMDG(In-Memory Data Grid)
• MMDB(Main Memory DBMS)와 발상은 같지만 아키텍처가 다르다.
• 저장소로 디스크 대신 메인 메모리를 사용하는 것 + 분산
• 데이터가 여러 서버에 분산 저장된다.
• 용량의 한계와 신뢰성
Mobile Convergence Laboratory 11 /
IMDG(In-Memory Data Grid)
• Scalability 제공
• 데이터 모델은 객체지향형(serialize)이고 non-relation
Mobile Convergence Laboratory 12 /
IMDG Architecture
Mobile Convergence Laboratory 13 /
AS(Application Server)
영구 저장
AS
읽기
쓰기
IMDG IMDG
IMDG IMDG
Database(optional)
캐시 시스템과 다른 점.
Mobile Convergence Laboratory 14 /
캐시 시스템과 다른 점.
• 캐시 시스템
• 읽기• 캐시 안에 데이터가 있다면 데이터베이스에서 읽어오지 않는다.
• 캐시 안에 데이터가 없을 때는DB에서 읽어온다.
• 쓰기• 영구 저장소(hard)에 쓰기 때문에 결론적으로 캐시 시스템 적용과는 상관없다.
• IMDG
• 읽기• 항상 메인 메모리에서 읽어오기때문에 빠르다.
• 쓰기• 비동기 쓰기 방식을 사용하며, 유휴 시간에 백업을 하기 때문에 App 단에선 쓰기 시간을 고려하지 않는다.
Mobile Convergence Laboratory 15 /
IMDG의 기능
• Distributed Collections
• Distributed Topic & Event
• Distributed Lock
• Transactions
Mobile Convergence Laboratory 16 /
IMDG의 기능
• Distributed Collections• Map, Set, List 자료구조에 분산 저장
• Distributed Topic & Event• 분산 Message Queue 시스템 제공, event 순서 보장
• Distributed Lock• 여러 분산 시스템에서 하나의 Lock을 사용해 동기화 가능
• Transactions
Mobile Convergence Laboratory 17 /
Hazelcast의 특징 - 1
• Lightweight without any dependency
• JVM 위에서 동작• 시스템 종속성X
Mobile Convergence Laboratory 18 /
Hazelcast의 특징 - 2
• Key-Value store
• Distributed MAP
• linear scalability as you add new nodes and reliability.
Mobile Convergence Laboratory 19 /
Hazelcast의 특징 - 3
• 다른 IMDG 솔루션들에 비해 매우 사용하기 쉬움
• 타 제품• Terracotta
• VMware Gemfire
• Oracle Coherence
• IBM eXtreme Scale
• Jboss Infinispan
Mobile Convergence Laboratory 20 /
Mobile Convergence Laboratory 21 /
Mobile Convergence Laboratory 22 /
Hazelcast 사용 사례
• Apache camel• Integration framework
• Vert.x• Event-driven application framework
• Apache karaf• OSGi
Mobile Convergence Laboratory 23 /
Mobile Convergence Laboratory 24 /
Mobile Convergence Laboratory 25 /
Mobile Convergence Laboratory 26 /
client로 참여한 인스턴스
초기 생성한 Hazelcast 인스턴스
WAN 클러스터링
Mobile Convergence Laboratory 27 /
Mobile Convergence Laboratory 28 /
참고 자료
• http://blog.hazelcast.com/
• http://hazelcast.org/
• http://hazelcast.com/
• https://github.com/hazelcast/hazelcast
Mobile Convergence Laboratory 29 /