Enterprise Message Bus - DeveloperMarch · the routerRouter), JMS, reactive APIs, Apache ActiveMQ...

34
Enterprise Message Bus

Transcript of Enterprise Message Bus - DeveloperMarch · the routerRouter), JMS, reactive APIs, Apache ActiveMQ...

Page 1: Enterprise Message Bus - DeveloperMarch · the routerRouter), JMS, reactive APIs, Apache ActiveMQ Artemis AMQP wire protocol implementation, Interconnect (Dispatch multiple language

How to insert a background image

1. Right click on your slide and click Format Background.

2. Click on Fill then Picture or Texture Fill and choose the image from your computer.

3. Click Picture on the Format Background Menu to alter your image.

4. Choose Picture Colour to adjust the Saturation, Tone, and Colour.

5. Choose Picture Correction to adjust the Sharpness, Brightness, and Contrast.

Enterprise Message Bus

Page 2: Enterprise Message Bus - DeveloperMarch · the routerRouter), JMS, reactive APIs, Apache ActiveMQ Artemis AMQP wire protocol implementation, Interconnect (Dispatch multiple language

How to insert a background image

1. Right click on your slide and click Format Background.

2. Click on Fill then Picture or Texture Fill and choose the image from your computer.

3. Click Picture on the Format Background Menu to alter your image.

4. Choose Picture Colour to adjust the Saturation, Tone, and Colour.

5. Choose Picture Correction to adjust the Sharpness, Brightness, and Contrast.

Michael André Pearce Enterprise Systems Architecture

• Messaging

• Distributed Grids

• Real time Big Data

• Open Source Evangelist

• Apache ActiveMQ – Committer

• Registry (Hortonworks) - Committer

• Apache Kafka – Contributor

Enterprise Message Bus 2

Page 3: Enterprise Message Bus - DeveloperMarch · the routerRouter), JMS, reactive APIs, Apache ActiveMQ Artemis AMQP wire protocol implementation, Interconnect (Dispatch multiple language

How to insert a table

2. Click on your table, and on the Table Tools tab in the ribbon, click on the Design tab.

4. The top two are Custom Styles that have been designed specifically to match your template.

3. In the Table Styles section, click on the drop down arrow to open the full selection of Table Styles.

5. You can also use tools on the Layout tab to evenly distribute your rows and columns.

1. Click on the icon in the middle of the placeholder and choose the amount of rows and columns you need.

Enterprise Message Bus 3

Page 4: Enterprise Message Bus - DeveloperMarch · the routerRouter), JMS, reactive APIs, Apache ActiveMQ Artemis AMQP wire protocol implementation, Interconnect (Dispatch multiple language

How to insert an image with a filter

1. Click on the icon in the middle of the placeholder and choose the image from your computer.

2. Click on the Format Picture tab in the ribbon and use the tools to edit the image.

3. Choose Crop to resize and move the image within the placeholder, using the white circles in the corners of the image.

4. Choose Picture Colour to adjust the Saturation, Tone, and Colour.

5. Choose Picture Correction to adjust the Sharpness, Brightness, and Contrast.

6. Once you are happy with your image, right click on it and select ‘Send to back’.

Enterprise Message Bus 4

Platforms

labs.ig.com REST trading and streaming APIs

Page 5: Enterprise Message Bus - DeveloperMarch · the routerRouter), JMS, reactive APIs, Apache ActiveMQ Artemis AMQP wire protocol implementation, Interconnect (Dispatch multiple language

Goal

Solution

Apache ActiveMQ Artemis

Apache Kafka

1.

2.

4.

Enterprise Message Bus 5

Enterprise Message Bus

3.

Page 6: Enterprise Message Bus - DeveloperMarch · the routerRouter), JMS, reactive APIs, Apache ActiveMQ Artemis AMQP wire protocol implementation, Interconnect (Dispatch multiple language

How to insert a background image

1. Right click on your slide and click Format Background.

2. Click on Fill then Picture or Texture Fill and choose the image from your computer.

3. Click Picture on the Format Background Menu to alter your image.

4. Choose Picture Colour to adjust the Saturation, Tone, and Colour.

5. Choose Picture Correction to adjust the Sharpness, Brightness, and Contrast.

With modern Technology data has become a commodity more than ever before.

The biggest hurdle for any organisation is how to get the data you already have to somewhere where you can start to build value from that data.

Enterprise Message Bus 6

Page 7: Enterprise Message Bus - DeveloperMarch · the routerRouter), JMS, reactive APIs, Apache ActiveMQ Artemis AMQP wire protocol implementation, Interconnect (Dispatch multiple language

How to insert a background image

1. Right click on your slide and click Format Background.

2. Click on Fill then Picture or Texture Fill and choose the image from your computer.

3. Click Picture on the Format Background Menu to alter your image.

4. Choose Picture Colour to adjust the Saturation, Tone, and Colour.

5. Choose Picture Correction to adjust the Sharpness, Brightness, and Contrast.

An unified platform flowing

transactional Messages into

process-able Streams into

Long lived query-able data

Enterprise Message Bus 7

Goal

Page 8: Enterprise Message Bus - DeveloperMarch · the routerRouter), JMS, reactive APIs, Apache ActiveMQ Artemis AMQP wire protocol implementation, Interconnect (Dispatch multiple language

How to insert a table

2. Click on your table, and on the Table Tools tab in the ribbon, click on the Design tab.

4. The top two are Custom Styles that have been designed specifically to match your template.

3. In the Table Styles section, click on the drop down arrow to open the full selection of Table Styles.

5. You can also use tools on the Layout tab to evenly distribute your rows and columns.

1. Click on the icon in the middle of the placeholder and choose the amount of rows and columns you need. Solution

Enterprise Message Bus 8

One single technology alone is insufficient

But lots of building blocks exist

Need to compose them simply and efficiently

Page 9: Enterprise Message Bus - DeveloperMarch · the routerRouter), JMS, reactive APIs, Apache ActiveMQ Artemis AMQP wire protocol implementation, Interconnect (Dispatch multiple language

Enterprise Message Bus 9

Data Messaging

RedHat AMQ-7

Apache ActiveMQ Artemis

Data Streaming

Apache Kafka

Data Lake

Amazon S3

Data Schema

Hortonworks Schema Registry

Building Blocks

Page 10: Enterprise Message Bus - DeveloperMarch · the routerRouter), JMS, reactive APIs, Apache ActiveMQ Artemis AMQP wire protocol implementation, Interconnect (Dispatch multiple language

Enterprise Message Bus 10

Building Blocks

Kafka:Data

Streaming

Amazon S3:Data Lake

Spark

Elastic Map Reduce

Relational DWH

Amazon Redshift

AmazonAthena

A-MQ:Data

Messaging

Apps:JMS

Apps:AMQP

Stream Processing

Search

Metrics

Realtime Analytics

Apps:Kafka Client

RDBMS NoSQLMachine Learning

Apps:STOMP

In-Memory:Share

Nothing

In-Memory:Data Grid

Offline Batch DataNear Realtime DataSynchronous Req/RespLow Latency

> 1 Hour> 100 millisecond> 1 millisecond<1 millisecond

Micro Batching

> 1 second

Page 11: Enterprise Message Bus - DeveloperMarch · the routerRouter), JMS, reactive APIs, Apache ActiveMQ Artemis AMQP wire protocol implementation, Interconnect (Dispatch multiple language

How to insert a background image

1. Right click on your slide and click Format Background.

2. Click on Fill then Picture or Texture Fill and choose the image from your computer.

3. Click Picture on the Format Background Menu to alter your image.

4. Choose Picture Colour to adjust the Saturation, Tone, and Colour.

5. Choose Picture Correction to adjust the Sharpness, Brightness, and Contrast.

Enterprise Message Bus 12

Data Messaging

Page 12: Enterprise Message Bus - DeveloperMarch · the routerRouter), JMS, reactive APIs, Apache ActiveMQ Artemis AMQP wire protocol implementation, Interconnect (Dispatch multiple language

How to insert a table

2. Click on your table, and on the Table Tools tab in the ribbon, click on the Design tab.

4. The top two are Custom Styles that have been designed specifically to match your template.

3. In the Table Styles section, click on the drop down arrow to open the full selection of Table Styles.

5. You can also use tools on the Layout tab to evenly distribute your rows and columns.

1. Click on the icon in the middle of the placeholder and choose the amount of rows and columns you need. Red Hat AMQ

Enterprise Message Bus 13

Apache Qpid Hawtio

Real-time web console for interacting with the broker and real-time inspection of

the router

Apache ActiveMQ Artemis

AMQP wire protocol implementation,

Interconnect (Dispatch Router), JMS, reactive APIs, multiple language clients

Async core, fast persistence, high availability, scalability, JMS, AMQP support, MQTT

support

Power of Open Source

Page 13: Enterprise Message Bus - DeveloperMarch · the routerRouter), JMS, reactive APIs, Apache ActiveMQ Artemis AMQP wire protocol implementation, Interconnect (Dispatch multiple language

How to insert a table

2. Click on your table, and on the Table Tools tab in the ribbon, click on the Design tab.

4. The top two are Custom Styles that have been designed specifically to match your template.

3. In the Table Styles section, click on the drop down arrow to open the full selection of Table Styles.

5. You can also use tools on the Layout tab to evenly distribute your rows and columns.

1. Click on the icon in the middle of the placeholder and choose the amount of rows and columns you need. Corrupted Journal – Shared Filesystem

Enterprise Message Bus 14

MASTER SLAVE

SHARED FILESYSTEM

Corrupted Journal

MASTER SLAVE

SHARED FILESYSTEM

Corrupted Journal

MASTER SLAVE

SHARED FILESYSTEM

Journal

Page 14: Enterprise Message Bus - DeveloperMarch · the routerRouter), JMS, reactive APIs, Apache ActiveMQ Artemis AMQP wire protocol implementation, Interconnect (Dispatch multiple language

How to insert a table

2. Click on your table, and on the Table Tools tab in the ribbon, click on the Design tab.

4. The top two are Custom Styles that have been designed specifically to match your template.

3. In the Table Styles section, click on the drop down arrow to open the full selection of Table Styles.

5. You can also use tools on the Layout tab to evenly distribute your rows and columns.

1. Click on the icon in the middle of the placeholder and choose the amount of rows and columns you need. Corrupted Journal - Replication

Enterprise Message Bus 15

MASTER SLAVE

LOCAL FILESYSTEM LOCAL FILESYSTEM

Replicate

JournalJournal MASTER SLAVE

LOCAL FILESYSTEM LOCAL FILESYSTEM

Replicate

JournalCorrupted Journal

Apache ActiveMQ Artemis

Apache Kafka

Page 15: Enterprise Message Bus - DeveloperMarch · the routerRouter), JMS, reactive APIs, Apache ActiveMQ Artemis AMQP wire protocol implementation, Interconnect (Dispatch multiple language

How to insert a table

2. Click on your table, and on the Table Tools tab in the ribbon, click on the Design tab.

4. The top two are Custom Styles that have been designed specifically to match your template.

3. In the Table Styles section, click on the drop down arrow to open the full selection of Table Styles.

5. You can also use tools on the Layout tab to evenly distribute your rows and columns.

1. Click on the icon in the middle of the placeholder and choose the amount of rows and columns you need. Event Data Publishing with Queues

Enterprise Message Bus 16

PRODUCING

APPLICATION

BROKER

Queue 1 Queue 2

CONSUMER

APPLICATION

Queue 3

CONSUMER

APPLICATION

CONSUMER

APPLICATION

BROKER

Queue 2 Queue 3

CONSUMER

APPLICATION

CONSUMER

APPLICATION

FAN OUT

SERVICE

Queue 4

CONSUMER

APPLICATION

PRODUCING

APPLICATION

BROKER

Queue 1

Page 16: Enterprise Message Bus - DeveloperMarch · the routerRouter), JMS, reactive APIs, Apache ActiveMQ Artemis AMQP wire protocol implementation, Interconnect (Dispatch multiple language

How to insert a table

2. Click on your table, and on the Table Tools tab in the ribbon, click on the Design tab.

4. The top two are Custom Styles that have been designed specifically to match your template.

3. In the Table Styles section, click on the drop down arrow to open the full selection of Table Styles.

5. You can also use tools on the Layout tab to evenly distribute your rows and columns.

1. Click on the icon in the middle of the placeholder and choose the amount of rows and columns you need. Event Data Publishing with Topics

Enterprise Message Bus 17

BROKER

Topic 1

CONSUMER

APPLICATION

CONSUMER

APPLICATION

CONSUMER

APPLICATION

PRODUCING

APPLICATION

Apache ActiveMQ Artemis

Apache Kafka

Page 17: Enterprise Message Bus - DeveloperMarch · the routerRouter), JMS, reactive APIs, Apache ActiveMQ Artemis AMQP wire protocol implementation, Interconnect (Dispatch multiple language

How to insert a background image

1. Right click on your slide and click Format Background.

2. Click on Fill then Picture or Texture Fill and choose the image from your computer.

3. Click Picture on the Format Background Menu to alter your image.

4. Choose Picture Colour to adjust the Saturation, Tone, and Colour.

5. Choose Picture Correction to adjust the Sharpness, Brightness, and Contrast.

Why not Apache Kafka?

Enterprise Message Bus 18

Page 18: Enterprise Message Bus - DeveloperMarch · the routerRouter), JMS, reactive APIs, Apache ActiveMQ Artemis AMQP wire protocol implementation, Interconnect (Dispatch multiple language

JMS 2.0 Supported

Transactions Supported

Single Message Processing

AMQP Standardized Protocol

Real-time <10 milliseconds

Disk persistence

Admin Management Console

1.

2.

3.

4.

5.

6.

7.

Enterprise Message Bus 19

Transaction Processing Requirements

Page 19: Enterprise Message Bus - DeveloperMarch · the routerRouter), JMS, reactive APIs, Apache ActiveMQ Artemis AMQP wire protocol implementation, Interconnect (Dispatch multiple language

How to insert a table

2. Click on your table, and on the Table Tools tab in the ribbon, click on the Design tab.

4. The top two are Custom Styles that have been designed specifically to match your template.

3. In the Table Styles section, click on the drop down arrow to open the full selection of Table Styles.

5. You can also use tools on the Layout tab to evenly distribute your rows and columns.

1. Click on the icon in the middle of the placeholder and choose the amount of rows and columns you need. Apache ActiveMQ Artemis

Enterprise Message Bus 20

• Pure Java, high-performance message broker

• Multi-protocol: AMQP 1.0, MQTT, STOMP, OpenWire, Artemis Core

• Polyglot: Java JMS 2.0, C++, .NET, Python, JavaScript (inc. Node.js)

• Flexible persistence: high performance journal or JDBC

• Support for large messages

• Flexible clustering

• High availability • shared nothing replication or shared SAN

• Open Source Community - Apache Foundation Project

Features

Page 20: Enterprise Message Bus - DeveloperMarch · the routerRouter), JMS, reactive APIs, Apache ActiveMQ Artemis AMQP wire protocol implementation, Interconnect (Dispatch multiple language

How to insert a table

2. Click on your table, and on the Table Tools tab in the ribbon, click on the Design tab.

4. The top two are Custom Styles that have been designed specifically to match your template.

3. In the Table Styles section, click on the drop down arrow to open the full selection of Table Styles.

5. You can also use tools on the Layout tab to evenly distribute your rows and columns.

1. Click on the icon in the middle of the placeholder and choose the amount of rows and columns you need. Apache ActiveMQ Artemis

Enterprise Message Bus 21

• Fully asynchronous (non-blocking) internal architecture • Developed using reactive patterns • Netty IO

• Thread pooling

• Predictable thread usage (not 1 thread per client/queue/*) • Configurable thread pools

• High performance journal

• Custom implementation using Linux asynchronous I/O (JNI to libaio) • Automatically switches to Java NIO implementation when not on Linux • Compaction

Internal Architecture

Page 21: Enterprise Message Bus - DeveloperMarch · the routerRouter), JMS, reactive APIs, Apache ActiveMQ Artemis AMQP wire protocol implementation, Interconnect (Dispatch multiple language

How to insert a table

2. Click on your table, and on the Table Tools tab in the ribbon, click on the Design tab.

4. The top two are Custom Styles that have been designed specifically to match your template.

3. In the Table Styles section, click on the drop down arrow to open the full selection of Table Styles.

5. You can also use tools on the Layout tab to evenly distribute your rows and columns.

1. Click on the icon in the middle of the placeholder and choose the amount of rows and columns you need. Apache ActiveMQ Artemis

Enterprise Message Bus 22

Produce Durability

PRODUCER

MASTERsend “persistent”

acknowledge

producer

thread blocks

Application

Memory

OS PageFile Cache

Disk

Drive Controller

Cache

Disk Cache

Non Volatile

Medium / Platter

SLAVE

replicate

FSync

producer

thread continues

Page 22: Enterprise Message Bus - DeveloperMarch · the routerRouter), JMS, reactive APIs, Apache ActiveMQ Artemis AMQP wire protocol implementation, Interconnect (Dispatch multiple language

How to insert a table

2. Click on your table, and on the Table Tools tab in the ribbon, click on the Design tab.

4. The top two are Custom Styles that have been designed specifically to match your template.

3. In the Table Styles section, click on the drop down arrow to open the full selection of Table Styles.

5. You can also use tools on the Layout tab to evenly distribute your rows and columns.

1. Click on the icon in the middle of the placeholder and choose the amount of rows and columns you need. Apache Kafka

Enterprise Message Bus 23

Produce Durability PRODUCER

LEADERsend

async acknowledge

Application

Memory

OS PageFile Cache

Disk

Drive Controller

Cache

Disk Cache

Non Volatile

Medium / Platter

FOLLOWER

replicate

continues

FOLLOWER

replicate

Write back based on OS Algosend

batch transmit

Clie

nt

Mem

ory

Bu

ffer

Page 23: Enterprise Message Bus - DeveloperMarch · the routerRouter), JMS, reactive APIs, Apache ActiveMQ Artemis AMQP wire protocol implementation, Interconnect (Dispatch multiple language

How to insert a table

2. Click on your table, and on the Table Tools tab in the ribbon, click on the Design tab.

4. The top two are Custom Styles that have been designed specifically to match your template.

3. In the Table Styles section, click on the drop down arrow to open the full selection of Table Styles.

5. You can also use tools on the Layout tab to evenly distribute your rows and columns.

1. Click on the icon in the middle of the placeholder and choose the amount of rows and columns you need. Apache ActiveMQ Artemis

Enterprise Message Bus 24

Core Address Model

Type

• Anycast

• Multicast

Features

• Paging

• Direct routing

• Divert

CONSUMER

PRODUCER

BROKER

ADDRESSES

QUEUES

BINDINGS

ANYCAST MULTICAST

Queue 1 Q3 Q4Q2 Q5

Page 24: Enterprise Message Bus - DeveloperMarch · the routerRouter), JMS, reactive APIs, Apache ActiveMQ Artemis AMQP wire protocol implementation, Interconnect (Dispatch multiple language

How to insert a table

2. Click on your table, and on the Table Tools tab in the ribbon, click on the Design tab.

4. The top two are Custom Styles that have been designed specifically to match your template.

3. In the Table Styles section, click on the drop down arrow to open the full selection of Table Styles.

5. You can also use tools on the Layout tab to evenly distribute your rows and columns.

1. Click on the icon in the middle of the placeholder and choose the amount of rows and columns you need. Apache ActiveMQ Artemis

Enterprise Message Bus 25

Core Queues

CONSUMERS

PRODUCER

BROKER

ADDRESSES

QUEUES

BINDINGS

MULTICAST

Queue 1 Q2 Q3

Dispatch

• Round Robin (Default)

• Exclusive

• Message Groups

Features

• Durable or Non Durable

• Filter / Selectors

• Last Value

Page 25: Enterprise Message Bus - DeveloperMarch · the routerRouter), JMS, reactive APIs, Apache ActiveMQ Artemis AMQP wire protocol implementation, Interconnect (Dispatch multiple language

How to insert a table

2. Click on your table, and on the Table Tools tab in the ribbon, click on the Design tab.

4. The top two are Custom Styles that have been designed specifically to match your template.

3. In the Table Styles section, click on the drop down arrow to open the full selection of Table Styles.

5. You can also use tools on the Layout tab to evenly distribute your rows and columns.

1. Click on the icon in the middle of the placeholder and choose the amount of rows and columns you need. Apache ActiveMQ Artemis

Enterprise Message Bus 26

JMS Queue

BROKER

ADDRESSES

foo_bartype: anycast

CONSUMER

address=foo_bar

CONSUMER

address=foo_bar

12

34

PRODUCER

address=foo_bar

7

QUEUES

Queue1 6 5

Page 26: Enterprise Message Bus - DeveloperMarch · the routerRouter), JMS, reactive APIs, Apache ActiveMQ Artemis AMQP wire protocol implementation, Interconnect (Dispatch multiple language

How to insert a table

2. Click on your table, and on the Table Tools tab in the ribbon, click on the Design tab.

4. The top two are Custom Styles that have been designed specifically to match your template.

3. In the Table Styles section, click on the drop down arrow to open the full selection of Table Styles.

5. You can also use tools on the Layout tab to evenly distribute your rows and columns.

1. Click on the icon in the middle of the placeholder and choose the amount of rows and columns you need. Apache ActiveMQ Artemis

Enterprise Message Bus 27

JMS Topic - Shared Durable Subscriber

BROKER

QUEUESADDRESSES

foo_bartype: multicast

CONSUMERaddress=foo_bar, clientId=null

shared=true, durable=true

subscription=queue1

CONSUMERaddress=foo_bar, clientId=null

shared=true, durable=true

subscription=queue1

12

34PRODUCER

address=foo_bar

7CONSUMER

address=foo_bar, clientId=null

shared=true, durable=true

subscription=queue2

CONSUMERaddress=foo_bar, clientId=null

shared=true, durable=true

subscription=queue2

12

34

QUEUES

Queue2 6 5

Queue1 6 5

Page 27: Enterprise Message Bus - DeveloperMarch · the routerRouter), JMS, reactive APIs, Apache ActiveMQ Artemis AMQP wire protocol implementation, Interconnect (Dispatch multiple language

How to insert an image with a filter

1. Click on the icon in the middle of the placeholder and choose the image from your computer.

2. Click on the Format Picture tab in the ribbon and use the tools to edit the image.

3. Choose Crop to resize and move the image within the placeholder, using the white circles in the corners of the image.

4. Choose Picture Colour to adjust the Saturation, Tone, and Colour.

5. Choose Picture Correction to adjust the Sharpness, Brightness, and Contrast.

6. Once you are happy with your image, right click on it and select ‘Send to back’.

Latency – AMQ-7 Apache Artemis

• Core Trading Day

• Persistent with File Sync to Disk

• Replicated HA

• Standard Servers

• 2 x 6 Core Intel Xeon

• 4 x 32Gb Ram

• Dedicated SSDs for Journal and Paging

Enterprise Message Bus 28

Page 28: Enterprise Message Bus - DeveloperMarch · the routerRouter), JMS, reactive APIs, Apache ActiveMQ Artemis AMQP wire protocol implementation, Interconnect (Dispatch multiple language

Enterprise Message Bus 29

Softwaremill Blog https://softwaremill.com/mqperf/

Page 29: Enterprise Message Bus - DeveloperMarch · the routerRouter), JMS, reactive APIs, Apache ActiveMQ Artemis AMQP wire protocol implementation, Interconnect (Dispatch multiple language

How to insert a table

2. Click on your table, and on the Table Tools tab in the ribbon, click on the Design tab.

4. The top two are Custom Styles that have been designed specifically to match your template.

3. In the Table Styles section, click on the drop down arrow to open the full selection of Table Styles.

5. You can also use tools on the Layout tab to evenly distribute your rows and columns.

1. Click on the icon in the middle of the placeholder and choose the amount of rows and columns you need. Use Apache ActiveMQ Artemis for

Enterprise Message Bus 30

• individual message processing • messages guaranteed to disk / non-volatile storage • clients to use standard APIs (e.g. JMS) • clients to use standardised wire protocols (e.g. AMQP, MQTT, STOMP) • transactional sends and receives • request-reply messaging • selectors and filters • Advanced messaging features

• time-To-Live semantics (TTL) • scheduled delivery • Dead Letter Queue semantics (DLQ) • Etc.

• don’t want to implement broker functionality in your clients • e.g. partitioning, dispatching, coordination

Page 30: Enterprise Message Bus - DeveloperMarch · the routerRouter), JMS, reactive APIs, Apache ActiveMQ Artemis AMQP wire protocol implementation, Interconnect (Dispatch multiple language

How to insert a table

2. Click on your table, and on the Table Tools tab in the ribbon, click on the Design tab.

4. The top two are Custom Styles that have been designed specifically to match your template.

3. In the Table Styles section, click on the drop down arrow to open the full selection of Table Styles.

5. You can also use tools on the Layout tab to evenly distribute your rows and columns.

1. Click on the icon in the middle of the placeholder and choose the amount of rows and columns you need. Use Apache Kafka for

Enterprise Message Bus 31

• messages in volume • raw throughput • batching (micro) • sliding-window replay abilities • simple K,V store (compacted topics) • large numbers of subscribers for published events • finely control the parallelism/scalability of consumers

Page 31: Enterprise Message Bus - DeveloperMarch · the routerRouter), JMS, reactive APIs, Apache ActiveMQ Artemis AMQP wire protocol implementation, Interconnect (Dispatch multiple language

Enterprise Message Bus 32

Traditional JMS Brokers for instance ActiveMQ 5.x (Classic)

are the SQL of the messaging world

Brokers like Kafka, Pulsar

are the NoSQL of the messaging world

Next gen JMS Brokers such as ActiveMQ Artemis

are the NewSQL of the messaging world.

Where do I think things are going?

Page 32: Enterprise Message Bus - DeveloperMarch · the routerRouter), JMS, reactive APIs, Apache ActiveMQ Artemis AMQP wire protocol implementation, Interconnect (Dispatch multiple language

Enterprise Message Bus 33

Apache Kafka and Apache ActiveMQ Artemis

are different brokers with different tradeoffs for different use cases.

There is no silver bullet.

You should co-exist different brokers in your architecture.

Data in transit is just as important as it is at rest,

standardise, schema, secure and govern it.

Final Thoughts

Page 33: Enterprise Message Bus - DeveloperMarch · the routerRouter), JMS, reactive APIs, Apache ActiveMQ Artemis AMQP wire protocol implementation, Interconnect (Dispatch multiple language

Enterprise Message Bus 34

@itsourcery github.com/michaelandrepearce @LifeatIG iggroup.com/careers

Thank You