ZeroMQ i Java(Script)ZeroMQ i Java(Script)
Uvod
● Općenito o Message brokerima
● Po čemu se ZeroMQ razlikuje od ostalih
● Instalacija ZeroMQ-a● Instalacija ZeroMQ-a
...
Izbaci uljeza
● ActiveMQ
● RabbitMQ
● HornetQ● HornetQ
● ZeroMQ
● WebSphere MQ
● BizTalk Server
Izbaci uljeza
● ActiveMQ
● RabbitMQ
● HornetQ● HornetQ
● ZeroMQ
● WebSphere MQ
● BizTalk Server
Message broker (1)
● Omogućava validaciju, transformacije i
usmjeravanje (routing) poruka
● Posredovanje u komunikaciji iz...
Message broker (2)
Dodatne funkcionalnosti:
– Upravljanje
– Nadgledanje– Nadgledanje
Message broker (3)
Što je ZeroMQ? (1)
● Vrlo lightweight messaging sustav
● Zero -> bez brokera (ili što bliže tome)
● “More generally, “zero...
Što je ZeroMQ? (2)
● Request - Reply : remote procedure call ili task
distribution
● Publish - Subscribe : data distributi...
Što je ZeroMQ? (3)
● REQ - klijent koji šalje zahtjeve i očekuje
odgovore
● REP - servis koji prima zahtjeve i šalje odgov...
Što je ZeroMQ? (4)
● PUB - publisher koji distribuira podatke
● SUB - subscriber koji prima podatke od
publishera
● PUSH -...
Što je ZeroMQ? (5)
● PAIR - može biti povezan samo s jednim
peerom. - inter-thread comunication
Usporedba ZeroMQ-a s AMQP-om
● AMQP nudi gotova rješenja na uobičajene
probleme
● ZeroMQ nudi alate za rješavanje tih prob...
Instalacija ZeroMQ-a (1)
Potrebne biblioteke:
– git
– libtools
– c++
Download:
– libzmq - ZeroMQ library
– jzmq - Java bin...
Instalacija ZeroMQ-a (2)
● sudo ./autogen.sh
● sudo ./configure
● sudo make● sudo make
● sudo make install
U slučaju grešk...
Publish - Subscribe demo (1)
Publish - Subscribe demo (2)
ZeroMQ i JavaScript
● ZmsSocket.js – ZeroMQ binding za JavaScript
● Java script ne podržava raw TCP veze → Flash
bridge
Og...
ZeroMQ i JavaScript (2)
Use Case (1)
Telefon
Mreža2
3
1
Aplikacija
Centrala
3
1
Use Case (2)
Telefon
Mreža2
Aplikacija
Centrala
2
DEMODEMO
Pitanja?
mladen.cikara@gmail.com
github.com/McNullty/zeromq-examples
http://www.podsjetnik.hr/
Upcoming SlideShare
Loading in...5
×

JavaCro'14 - ZeroMQ and Java(Script) – Mladen Čikara

1,408

Published on

ZeroMQ is messaging framework that is aimed for use in scalable distributed and concurrent applications. (In 2011, CERN performed a study to unify middleware solutions used in managing CERN accelerators. In this study they compared CORBA, Ice, Thrift, ZeroMQ, YAMI4, RTI and AMQP, and in the end ZeroMQ showed the best results. Goal of this presentation is to show out why did ZeroMQ win, and what distinguishes ZeroMQ from other messaging solutions. With different examples we will show how to use ZeroMQ with Java on the server side and with JavaScript on the client side.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,408
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

JavaCro'14 - ZeroMQ and Java(Script) – Mladen Čikara

  1. 1. ZeroMQ i Java(Script)ZeroMQ i Java(Script)
  2. 2. Uvod ● Općenito o Message brokerima ● Po čemu se ZeroMQ razlikuje od ostalih ● Instalacija ZeroMQ-a● Instalacija ZeroMQ-a ● Primjeri u Javi i JavaScriptu ● Use case ● Demo
  3. 3. Izbaci uljeza ● ActiveMQ ● RabbitMQ ● HornetQ● HornetQ ● ZeroMQ ● WebSphere MQ ● BizTalk Server
  4. 4. Izbaci uljeza ● ActiveMQ ● RabbitMQ ● HornetQ● HornetQ ● ZeroMQ ● WebSphere MQ ● BizTalk Server
  5. 5. Message broker (1) ● Omogućava validaciju, transformacije i usmjeravanje (routing) poruka ● Posredovanje u komunikaciji između različitih aplikacija – Decoupling aplikacija ● Messaging patterns - utvrđeni obrasci za razmjenu podataka među aplikacijama
  6. 6. Message broker (2) Dodatne funkcionalnosti: – Upravljanje – Nadgledanje– Nadgledanje
  7. 7. Message broker (3)
  8. 8. Što je ZeroMQ? (1) ● Vrlo lightweight messaging sustav ● Zero -> bez brokera (ili što bliže tome) ● “More generally, “zero” refers to the culture of● “More generally, “zero” refers to the culture of minimalism that permeates the project. ” ● “Its sockets on steroids” ● Postojeći built-in patterni:
  9. 9. Što je ZeroMQ? (2) ● Request - Reply : remote procedure call ili task distribution ● Publish - Subscribe : data distribution ● Pipeline : parallel task distribution ● Patterne se kreira kombiniranjem ZeroMQ socketa
  10. 10. Što je ZeroMQ? (3) ● REQ - klijent koji šalje zahtjeve i očekuje odgovore ● REP - servis koji prima zahtjeve i šalje odgovore ● DEALER - dijeli poruke grupi klijenata (round robin) ● ROUTER - usmjerava poruke na određenog klijenta
  11. 11. Što je ZeroMQ? (4) ● PUB - publisher koji distribuira podatke ● SUB - subscriber koji prima podatke od publishera ● PUSH - šalje podatke svim prijavljenim nodovima (round robin) ● PULL - prima podatke od nadređenih nodova
  12. 12. Što je ZeroMQ? (5) ● PAIR - može biti povezan samo s jednim peerom. - inter-thread comunication
  13. 13. Usporedba ZeroMQ-a s AMQP-om ● AMQP nudi gotova rješenja na uobičajene probleme ● ZeroMQ nudi alate za rješavanje tih problema ● ZeroMQ ne dolazi s postojećim brokerom već je biblioteka funkcija od kojih developeri slože custom brokera
  14. 14. Instalacija ZeroMQ-a (1) Potrebne biblioteke: – git – libtools – c++ Download: – libzmq - ZeroMQ library – jzmq - Java binding za ZeroMQ
  15. 15. Instalacija ZeroMQ-a (2) ● sudo ./autogen.sh ● sudo ./configure ● sudo make● sudo make ● sudo make install U slučaju greške: ● sudo ldconfig
  16. 16. Publish - Subscribe demo (1)
  17. 17. Publish - Subscribe demo (2)
  18. 18. ZeroMQ i JavaScript ● ZmsSocket.js – ZeroMQ binding za JavaScript ● Java script ne podržava raw TCP veze → Flash bridge Ograničenja – Maksimalna veličina poruke 2^32 – 10 byteova – Nisu podržane binarne poruke
  19. 19. ZeroMQ i JavaScript (2)
  20. 20. Use Case (1) Telefon Mreža2 3 1 Aplikacija Centrala 3
  21. 21. 1 Use Case (2) Telefon Mreža2 Aplikacija Centrala 2
  22. 22. DEMODEMO
  23. 23. Pitanja? mladen.cikara@gmail.com github.com/McNullty/zeromq-examples http://www.podsjetnik.hr/
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×