introduction to hazelcast
TRANSCRIPT
![Page 1: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/1.jpg)
introduction to
1
emin demirci
![Page 2: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/2.jpg)
introduction distributed computing in-memory data grids hazelcast code samples demo internals q/a
2
agenda
![Page 3: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/3.jpg)
about me
3
core developer at hazelcast holds bsc. computer engineering started programming some time ago, then turned into a career lives in beautiful istanbul interested in distributed systems
![Page 4: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/4.jpg)
distributed computing
4
use of bunch of computers to solve a computational problem problem is divided into multiple tasks and they are solved by one or more computers computers communicate each other by sending messages
![Page 5: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/5.jpg)
in-memory data grids
5
middleware software shared nothing architecture manages objects across distributed servers in the RAM ability to scale provides fault tolerance
![Page 6: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/6.jpg)
why use an imdg?
6
performance - ram is faster
flexibility - rich set of data structures
operations - easy to scale/maintain
![Page 7: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/7.jpg)
other imdg solutions
7
oracle coherence ibm extremescale vmware gemfire gigaspaces redhat infinispan gridgain terracotta
![Page 8: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/8.jpg)
8
what is ?
![Page 9: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/9.jpg)
an open-source project
9
![Page 10: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/10.jpg)
a company
10
![Page 11: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/11.jpg)
a company
11
hazelcast enterprise edition management center enterprise support training / consulting offices in istanbul (r&d), palo alto(hq) and london
![Page 12: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/12.jpg)
an open-source project
12
leading open-source in-memory data grid. dead simple distributed programming easy way to scale applications simple api built with in Istanbul
![Page 13: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/13.jpg)
use cases
13
scaling your application sharing data across cluster partitioning data sending/receiving messages load balancing session replication parallel task processing on multiple machines …
![Page 14: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/14.jpg)
how differs ?
14
apache licensed open source lightweight w/o any dependency ease of use and more fun !
![Page 15: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/15.jpg)
15
fact : every ~0.4 second a hazelcast node is started around the world
a lot of developers :)
who uses ?
![Page 16: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/16.jpg)
who uses ?
16
![Page 17: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/17.jpg)
17
what is ?distributed impl. of Java Collections dynamic clustering, backup and failover transaction support ( two phase, XA) distributed execution framework map/reduce api distributed queries native Java, C#, C++ clients
![Page 18: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/18.jpg)
starting a hazelcast instance
18
![Page 19: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/19.jpg)
hazelcast instance api
19
![Page 20: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/20.jpg)
quick demo
20
![Page 21: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/21.jpg)
data partitioning
21
Drawing by Benjamin Erb http://berb.github.io/diploma-thesis/original/resources/cons_hash.svg
![Page 22: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/22.jpg)
distributed map
22
![Page 23: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/23.jpg)
distributed queries
23
![Page 24: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/24.jpg)
processing entries
24
![Page 25: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/25.jpg)
entry processors
25
![Page 26: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/26.jpg)
distributed queue
26
![Page 27: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/27.jpg)
distributed executor service
27
![Page 28: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/28.jpg)
distributed lock
28
![Page 29: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/29.jpg)
aggregations
29
![Page 30: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/30.jpg)
wan replication
30
active/active active/passive
![Page 31: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/31.jpg)
wan replication
31
• High availability
![Page 32: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/32.jpg)
hazelcast architecture
32
![Page 33: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/33.jpg)
service provider interface ( SPI )
33
roll your own services extend hazelcast based on your needs ! hierarchical lock service priority queue scheduled executor service distributed actors anything you can think of ! check out SPI section of the hazelcast documentation
![Page 34: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/34.jpg)
session replication
34
servlet filter based
just put hazelcast filter to your web.xml
native tomcat/jetty plugins (enterprise)
![Page 35: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/35.jpg)
amazon ec2 support
35
![Page 36: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/36.jpg)
near cache
36
client side
node side
![Page 37: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/37.jpg)
map/reduce
37
![Page 38: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/38.jpg)
map/reduce
38
![Page 39: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/39.jpg)
39
hazelcast stabilizer
![Page 40: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/40.jpg)
hazelcast stabilizer
40
![Page 41: Introduction to hazelcast](https://reader033.vdocuments.mx/reader033/viewer/2022051016/55a5228b1a28abaf348b4816/html5/thumbnails/41.jpg)
41
hazelcast stabilizer