The Open Source Messaging Landscape

37
Richard Seroter Integration MVP The Open Source Messaging Landscape

Transcript of The Open Source Messaging Landscape

Page 1: The Open Source Messaging Landscape

Richard SeroterIntegration MVP

The Open Source Messaging Landscape

Page 2: The Open Source Messaging Landscape

Richard SeroterSr. Director of Product at PivotalLead Cloud Editor for InfoQ.com9-time Microsoft MVP for IntegrationTechnical Trainer at Pluralsight3-time Book Author

Page 3: The Open Source Messaging Landscape

A different direction emerging for integration.

@rseroter

Page 4: The Open Source Messaging Landscape

Feel like you’re falling behind?

@rseroter

Page 5: The Open Source Messaging Landscape

Let’s be aware of the options out there.

@rseroter

Page 6: The Open Source Messaging Landscape

#1#2#3

Look at modern integration criteria

Review popular OSS integration tools

Compare to the Microsoft portfolio

@rseroter

Page 7: The Open Source Messaging Landscape

#1#2#3

Look at modern integration criteria

Review popular OSS integration tools

Compare to the Microsoft portfolio

@rseroter

Page 8: The Open Source Messaging Landscape

Base messaging patternsPublish / SubscribeQueuingRequest / Response

@rseroter

Page 9: The Open Source Messaging Landscape

high availability and resilience

@rseroter

Page 10: The Open Source Messaging Landscape

significantthroughput

@rseroter

Page 11: The Open Source Messaging Landscape

programmable and automated@rseroter

Page 12: The Open Source Messaging Landscape

lightweight

@rseroter

Page 13: The Open Source Messaging Landscape

transientendpoints

@rseroter

Page 14: The Open Source Messaging Landscape

low barrier to entry

@rseroter

Page 15: The Open Source Messaging Landscape

@rseroter

Leave Behind …

Application AdaptersTransformation EngineWorkflowRich User InterfaceIntegration Teams

Page 16: The Open Source Messaging Landscape

#1#2#3

Look at modern integration criteria

Review popular OSS integration tools

Compare to the Microsoft portfolio

@rseroter

Page 17: The Open Source Messaging Landscape

@rseroter

Page 18: The Open Source Messaging Landscape

what is it?

“Kafka is a distributed, partitioned, replicated commit log service. It provides the functionality of a messaging system, but with a unique design."

@rseroter

Page 19: The Open Source Messaging Landscape

Built by LinkedIn, open sourced in 2011

Binary protocol over TCP, lots of SDKs

Basic pub/sub, queue routing

Designed to persist large amounts of data

Targets real-time and batch consumers

what should I know?

@rseroter

Page 20: The Open Source Messaging Landscape

broker

topic 1(partitio

n 1)

broker

broker

zookeeper

producer

producer

topic 1(partitio

n 2) topic 1(partitio

n 3)

topic 1(partitio

n 1)

topic 1(partitio

n 1)topic 1(partitio

n 2)

topic 1(partitio

n 2)topic 1(partitio

n 3)

topic 1(partitio

n 3)

consumer 1

consumer 2

consumer 3

C1 offset: 5

C2 offset: 9

C2 offset: 5

how does it work?

@rseroter

Page 21: The Open Source Messaging Landscape

DEMONSTRATION

@rseroter

Page 22: The Open Source Messaging Landscape

@rseroter

Page 23: The Open Source Messaging Landscape

“RabbitMQ is a messaging broker - an intermediary for messaging. It gives your applications a common platform to send and receive messages, and your messages a safe place to live until received."

what is it?

@rseroter

Page 24: The Open Source Messaging Landscape

what should I know?Implements AMQP standard

Pluggable architecture

Can persist data to disk, or just RAM

Supports multiple routing strategies

Mature ecosystem

@rseroter

Page 25: The Open Source Messaging Landscape

node

exchange

brokerqueue

1

broker

exchange

queue 3

queue 2

producer

producer

consumer 1

consumer 2

consumer 3

how does it work?

@rseroter

Page 26: The Open Source Messaging Landscape

DEMONSTRATION

@rseroter

Page 27: The Open Source Messaging Landscape

@rseroter

Page 28: The Open Source Messaging Landscape

“NATS acts as a central nervous system for distributed systems. Unlike traditional enterprise messaging systems, NATS provides an always on ‘dial-tone’."

what is it?

@rseroter

Page 29: The Open Source Messaging Landscape

what should I know?

Very lightweight engine written in Go

Text protocol over TCP, lots of SDKs

Pub/sub with queue-like options

Auto-prunes slow, lazy client connections

@rseroter

Page 30: The Open Source Messaging Landscape

NATS server

NATS server

NATS server

NATS server

producer

producer

consumer 1

consumer 2

consumer 3

how does it work?

@rseroter

Page 31: The Open Source Messaging Landscape

DEMONSTRATION

@rseroter

Page 32: The Open Source Messaging Landscape

#1#2#3

Look at modern integration criteria

Review popular OSS integration tools

Compare to the Microsoft portfolio

@rseroter

Page 33: The Open Source Messaging Landscape

Kafka is like …kind ofAzure Event HubsWhy?

Ordered sequence of events stored in partitions, read via offset

Not an enterprise message bus, but biased towards velocity

Different protocol support, hosting options, architecture@rseroter

Page 34: The Open Source Messaging Landscape

RabbitMQ is like …kind ofAzure Service BusWhy?

AMQP support

Similar pub/sub constructs

Different hosting options, durability choices

@rseroter

Page 35: The Open Source Messaging Landscape

NATS is like …kind of???

Why?Unique portability, performance story

Can play the role of one-way/two-way communication hub

@rseroter

Page 36: The Open Source Messaging Landscape

#1#2#3

Look at modern integration criteria

Review popular OSS integration tools

Compare to the Microsoft portfolio

@rseroter

Page 37: The Open Source Messaging Landscape

Thank you!@rseroter