20130226 infinispan queue

100 %
0 %
Information about 20130226 infinispan queue

Published on February 25, 2014

Author: opennaru

Source: slideshare.net

Infinispan Queue 구현 방법

Header text opennaru.com | 2013 | All Rights Reserved  1

Data Grid Key / Value를 사용한 Queue 구현 방안 • 데이터 그리드는 Hashmap 구조로 현재 Queue 자료구조를 지원하지 않음 • Key / Value만으로 Queue 자료구조를 구현하기 위한 방안이 필요함 • 구현 방안 • Linked List 구조를 만들기 위해 Value 객체에 연결된 다음 객체의 Key를 보관함 • Queue의 Head와 Tail에 대한 포인터 Key를 별도 캐시에 보관 • 맨 마지막 Element는 앞으로 추가할 Key를 미리 생성하여 QUEUE_TAIL과 Element의 Next Key에 보관함. • Queue에서 Element를 꺼내고 캐시에서 제거한 후, Element의 Next Key를 별도 키 (QUEUE_HEAD)에 보관함. • 모든 Key는 UUID(Universally Unique Identifier)로 랜덤 키로 생성함. opennaru.com | 2013 | All Rights Reserved  2

Linked List형태의 Queue 구조 2 K Queue offer 1 V InfinispanQueueElement UUID2 QUEUE_TAIL V InfinispanQueueElement Queue poll UUID1 Object K K UUID3(nextId) Object UUID2(nextId) V UUID3 QUEUE_HEAD UUID1 QUEUE_SIZE Integer Queue offer 1) 캐시에서 QUEUE_TAIL의 Value를 가져온다. 2) QUEUE_TAIL의 값이 새로 추가할 KEY 값이다. 3) 새로운 Queue Element에 다음에 추가될 Element에 대한 Key를 UUID 로 미리 생성한다. 4) 생성한 Key는 Element의 nextId에 보관하여 저장한다. 5) nextId를 QUEUE_TAIL에 저장한다. Queue poll 1) 캐시에서 QUEUE_HEAD의 Value를 가져온다. 2) QUEUE_HEAD의 값 UUID가 꺼낼 Queue의 KEY 값이다. 3) GET한 Element의 nextID를 QUEUE_HEAD에 보관한다. opennaru.com | 2013 | All Rights Reserved  3

구현 소스 https://github.com/nameislocus/infinispan-queue opennaru.com | 2013 | All Rights Reserved  4

Header text opennaru.com | 2013 | All Rights Reserved  5

Add a comment

Related presentations

Related pages

Index of Packages Matching 'ini' : Python Package Index

Package Weight* Description; ... Native python client for Infinispan, ... Multi-worker pipeline and closable queue: gf.rejuice 0.2: 2
Read more

DistroWatch.com: Put the fun back into computing. Use ...

Comparing package versions between two distributions; Often times it is useful to be able to compare the versions of different packages between two ...
Read more

distrowatch.com

distrowatch.com
Read more

www.devheads.net

www.devheads.net
Read more

'[fedora-arm] arm rawhide report: 20150721 changes' - MARC

[prev in list] [next in list] [prev in thread] [next in thread] List: fedora-arm Subject: [fedora-arm] arm rawhide report: 20150721 changes From: ...
Read more

Index of /pub/archive/fedora/linux/updates/17/i386

Index of /pub/archive/fedora/linux/updates/17 ... 2.8M drupal7-admin_language-1.0-0.2.dev.20130226.fc17.noarch.rpm 2013-07-06 16:34 18K ...
Read more

Cron /usr/local/bin/do-compare.sh - releng ...

Tuesday, 30 September 2014 Tue, 30 Sep '14 ...
Read more

[fedora-arm] arm rawhide report: 20140712 changes

Broken deps for aarch64 ----- [APLpy] APLpy-0.9.8-5.fc21.noarch requires pywcs [ATpy] ATpy-0.9.7-5.fc21 ...
Read more