mini-training: message brokers

17
An overview of message brokers

Upload: betclic-everest-group-tech-team

Post on 10-May-2015

1.789 views

Category:

Technology


0 download

DESCRIPTION

​Discover the not so new but wonderful world of the Message Brokers, also known as part of the MOM, Message Oriented Middlewares.

TRANSCRIPT

Page 1: Mini-Training: Message Brokers

An overview of message brokers

Page 2: Mini-Training: Message Brokers

• Definitions

• Messaging Systems : purpose & features

• Frameworks

• Use Cases, Demo

• Conclusion

Agenda

Page 3: Mini-Training: Message Brokers

LEARN THE DIFFERENCE

IT COULD SAVE YOUR LIFE

Page 4: Mini-Training: Message Brokers

• Component of « MOM », Message Oriented Middleware • An architectural pattern for message validation,

transformation and routing. • Mediate communication amongst applications,

minimizing the mutual awareness that application should have of each other, effectively implementing decoupling

Integrate applications without enforcing a common interface

Message Broker

Page 5: Mini-Training: Message Brokers

• Route messages to one or more of many destinations (unicast / multicast)

• Transform messages to an alternative representation (mapping)

• Perform message aggregation, decomposition/recomposition of messages

• Respond to events or errors (“triggering”)

• Provide content and topic-based message routing using the publish–

subscribe pattern.

5

Purpose

Page 6: Mini-Training: Message Brokers

6

Characteristics & Features

Producer (multiple or not)

push Broker pull Consumer (multiple or not)

• Topology (1-1, 1-N, N-N)

• Compression

• Timed or permanent persistence

• Disconnect detection, error recovery

• Acknowleding, ordering, retries

• Guaranteed delivery

• Combination of features : delivery + ordering : “EOID” exactly once in order

Page 7: Mini-Training: Message Brokers

JMS Implementations Active MQ, Jboss Messaging, Glassfish

AMQP Implementations Rabbit MQ

Lightweight / non-standardized ZeroMQ, Finagle, Kafka, Beanstalkd

Commercial MOMs IBM Websphere MQ, MSMQ (Microsoft) BEA Weblogic, SAP Netweaver

Enterprise Service Buses Biztalk, Websphere, Oracle Service Bus

7

Common Apps

Page 8: Mini-Training: Message Brokers

8

AMQP • Some key AMQP messaging protocol requirements

– Internet protocol - like HTTP, TCP –

but ASYNCHRONOUS

– Where to send messages (Routing)

– How to get there (Delivery)

– What goes in must come out (Fidelity)

- Each message is stateless - Consumers create queues; these buffer messages for push to consumers - Queues are stateful, ordered, and can be persistent, transient, private, shared. - Exchanges are stateless routing

tables.

Page 9: Mini-Training: Message Brokers

• Implements AMQP

• Written in Erlang, a functional language known for its ability for concurrent processing, and backed by Mnesia, Erlang’s powerful persistence database.

• Used by NASA’s Nebula Cloud Computing Platform, VMWare, AT&T Interactive, Digg, BBC, Nokia and ….

9

RabbitMQ

Page 10: Mini-Training: Message Brokers

10

Unibet use of Rabbit MQ

Page 11: Mini-Training: Message Brokers

11

Unibet and RabbitMQ

Page 12: Mini-Training: Message Brokers

12

What about SQL Server Service Broker?

SQL Server Service Broker : - native support for messaging and queuing applications - use the Sql Server Database Engine components to communicate between disparate databases. - handles the communication paths in the context of transactioned conversation.

Page 14: Mini-Training: Message Brokers

• http://fr.slideshare.net/MaxAlexejev/modern-distributed-messaging-and-rpc

• http://msdn.microsoft.com/en-us/library/ms978706.aspx : « broker » pattern

• http://blog.pasker.net/2008/06/16/you-might-need-messaging-if/ : why you might need messaging

• http://fr.slideshare.net/somic/introduction-to-amqp-messaging-with-rabbitmq/ : AMQP functionnalities in detail

• http://libfugu.so/blog/2013/09/24/rabbitmq-a-quick-and-dirty-introduction

• http://www.rabbitmq.com/resources/RabbitMQ_usecase_StefanNorberg_Unibet_10xScalabilityAtHalfTheCost.pdf : Rabbit MQ at Unibet, the story of Kevin and his candy bag

• http://www.codeproject.com/Articles/11795/Introducing-Distributed-Messaging-using-Service-Br : good description of Sql Server Service Broker

14

Links

Page 15: Mini-Training: Message Brokers

15

Page 16: Mini-Training: Message Brokers

Find out more

• On https://techblog.betclicgroup.com/

Page 17: Mini-Training: Message Brokers

About Betclic • Betclic Everest Group, one of the world leaders in online gaming, has a unique

portfolio comprising various complementary international brands: Betclic, Everest Gaming, bet-at-home.com, Expekt…

• Active in 100 countries with more than 12 million customers worldwide, the Group is committed to promoting secure and responsible gaming and is a member of several international professional associations including the EGBA (European Gaming and Betting Association) and the ESSA (European Sports Security Association).

• Through our brands, Betclic Everest Group places expertise, technological know-how and security at the heart of our strategy to deliver an on-line gaming offer attuned to the passion of our players.