Download presentation
Presentation is loading. Please wait.
Published byOswin Riley Modified over 9 years ago
1
Publish-subscribe, Event brokers INF 123 – Software architecture tdebeauv@uci.edu 1
2
Outline Pubsub Event brokers 2
3
PUBSUB 3
4
Newspaper distribution Newspaper companies publish newspapers Readers (un)subscribe to a company for a newspaper Company sends newspaper to its subscribers 4
5
Newspaper distribution 5
6
Stock exchange Jobs wants to buy AAPL below $30 Gates wants to buy MSFT below $40 Buffett wants to sell MSFT and AAPL for $35 Traders are intermediaries – Publication and subscription are decoupled – Buffett does not know who he sold to – Gates does not know who he bought from 6
7
Stock exchange 2 NYSE provides feed of stock updates – Humongous, fast Traders are only interested in parts of it – Need filtering 7
8
8 Eugster 2003: The many faces of publish/subscribe
9
Constraints Subscribers register their interest – Interest in a publisher, an event, or a content Publishers generate events – Sometimes through intermediaries called message broker, or message bus, or even proxy Usually asynchronous – Publishers don’t wait for subscribers to publish – Subscribers give a callback to be notified 9
10
Gains Scalable one-way communication – Usually over the network – “Well adapted to the loosely coupled nature of distributed large-scale applications” [Eugster03] Can decouple subscribers from publishers – Decoupling – Privacy Content filtering 10
11
Request-reply vs pubsub Request-reply Implies client-server – Medium coupling Pull info Pubsub Less coupled Push info 11
12
More about pubsub AKA producer-consumer – Implies message queues Pubsub != client-server 12 CriteriaPubsubClient-server Message passingOne-wayTwo-way Request-replyImpossiblePossible Information flowPublishers push to subscribers Clients pull from server
13
Pubsub + space partitioning = scale 13 http://www.cescg.org/CESCG-2000/JKrivanek/
14
But … What if everyone subscribes to one item? – BarackObama: 43M followers on Twitter – Bandwidth limits, slower updates – Can/should cache What if everyone subscribes to everything? – Then Pubsub is probably not the right style 14
15
Apple Push Notifications 15 http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1
16
Apple Push Notifications Subscription – Device token = content of interest – Delivered by APNS, for security – why? Notification – APNS intermediary between appServer and appClient – For privacy – why? 16
17
17
18
Zoom-in/out Zoom on a region of the board – Useful with a million small pieces Originally client-side – The server sends all piece movement events – Most events that the client receives are not rendered, and could be ignored Then server-side pubsub – Only receive events near me – Client subscription == client view – Client model = subset of server model 18
19
“Near me” Current view: x, y, w, h Subscribe to [x: x+w, y: y+h] Subscribe to [x-d: x+w+d, y-d: y+h+d] Partition the world statically in cells – Subscribe to the cells that my view overlap with 19 User-oriented software development for real time online applications, Gorlatch 2008
20
EVENT BROKERS 20
21
Event broker vs pubsub Event broker = pubsub – With an intermediary – Where subscribers publish – And publishers subscribe – And usually with function callbacks rather than over the network 21
22
Mini-map Receive player position message Change player position on main screen Change player position on mini-map 22
23
23
24
Mini-map Main view and mini-map view Both subscribe to: – My movements – Quest markers The main view subscribes to: – Other players movement The mini-map subscribes to: – Zoom clicks 24
25
Widgets GUI widgets N widgets interested in an event A widget may fire another event in response – Enqueue new event? – Or dispatch it right away? 25
26
Publish events 26 http://ezide.com/games/writing-games.html
27
Dispatch events 27 http://ezide.com/games/writing-games.html
28
If you’re interested … http://msdn.microsoft.com/en- us/library/ff650653.aspx http://msdn.microsoft.com/en- us/library/ff650653.aspx http://ezide.com/games/writing-games.html The Many Faces of Publish/Subscribe, Eugster et al. 2003 http://code.google.com/p/pubsubhubbub/ http://www.capitalware.com/dl/docs/intro_p ub_sub.pdf http://www.capitalware.com/dl/docs/intro_p ub_sub.pdf 28
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.