introducing nimbus - azure service bus made easy

Post on 10-May-2015

2.188 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Introducing Nimbus. Azure Service Bus made easy by Damian Maclennan and Andrew Harcourt

TRANSCRIPT

Introducing Nimbus – Azure Service Bus made easy

Damian Maclennan Andrew Harcourt

@damianm @uglybugger

1

2

Readify Principal Consultants

What is a Service Bus anyway ?????

3

4

5

Queues

6

Topics and Publish / Subscribe

7

Why use a service bus ?

Microservice Architecture

8

ENTERPRISE SERVICE BUS

Microservice ESB

Loosely Coupled Orchestrated

Independently Scalable Centralised Bottleneck

Fault tolerant Single Point of Failure

Free $$$$$$

9

ESB vs Microservice (A totally unbiased view)

• Azure Service Bus

• RabbitMQ

• MSMQ (With a little help)

• ZeroMQ

10

Service Bus Implementations

Azure Service Bus is

Bus As A Service

11

BAAS12

Azure Service Bus is totes AMQP compliant!!!!

(for all of your “Open Standards” needs)

13

14

Azure Service Bus has excellent documentation

(with community comments)

15

16

17

To TEH CODEZ

18

Azure Service Bus Sample

Surely there’s a better way!

19

20

NServiceBus Handler Example

NServiceBus makes us sad for

different reasons

21

22

23

So we made a thing!

24

https://github.com/damianmac/nimbus

https://twitter.com/NimbusAPI

25

Nimbus – Azure Service Bus Made Easy

• Open Source… really

• Nice Request / Response model

• Simple to configure

• Async

• Doesn’t tie you to a particular anything

• Handles some scenarios that others don’t

• Works On Premise too with Windows Service Bus

26

Why we wrote Nimbus and why we think it’s good

27

MOAR CODEZ

28

Nimbus Architecture Patterns and Scenarios

29

Command / Consumer

ApplicationEmail

Service

SendEmailCommand

30

Command / Competing Consumer

ApplicationEmail

Service

SendEmailCommand

EmailService

EmailService

Only one of these will get the message.

31

Publish / Subscribe

Application

Customer Purchase History Service

OrderConfirmedEvent

Logistics Service

EmailService

All of these things are interested in this event.

32

Request / Response

Application

Customer Purchase History Service

CustomerHistoryRequest

CustomerHistoryResponse

33

Request / Response Load Balancing

Application

Customer Purchase History Service

CustomerHistoryRequest

CustomerHistoryResponse

Customer Purchase History Service

Customer Purchase History Service

Only one of these will get the message.

34

Multicast Request / Response with Timeout

ApplicationFailed

Attempt Service

FraudlentCardRequest

IsThisDodgyResponse

Usage Rate Service

Geographic Risk

Assessment Service

All of these have n milliseconds to return an opinion.

35

Multicast Request / Response take first

ApplicationRisk

Assessment Service

FraudlentCardRequest

YesThisIsDodgyResponse

Risk Assessment

Service

Risk Assessment

Service

We take the response from fastest responder.

36

Competing Publish / Subscribe

ApplicationLogistics Service

OrderConfirmedEvent

Logistics Service

Logistics Service

Only one of these instances should react.

So what next ?

37

38

39

http://www.nuget.org/packages/Nimbus/

Damian Maclennan

@damianm

Andrew Harcourt

@uglybugger

40

Need Help ?

top related