Skip to content

dalelane/eventstreams-mirrormaker2-demos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Demos of Mirror Maker 2 with IBM Event Streams

Mirror Maker 2 is a powerful and flexible tool for moving Kafka events between Kafka clusters. These demos aim to inspire you to think about different ways that you could use it in your own projects.

A great way to learn how to use it is to play with it for yourself, so this repo includes Ansible playbooks that create examples of a variety of different Mirror Maker topologies.

These demonstrations all run in a single OpenShift cluster, using separate namespaces to represent "regions".

To see the requirements for creating these demos, see REQUIREMENTS.md.

A more detailed description of what these demos illustrate can be found in the blog posts starting from https://dalelane.co.uk/blog/?p=5098

Using Mirror Maker 2 to aggregate events from multiple regions

diagram

Ansible playbook: 01-aggregate-central/setup.yaml

Example of how to run the playbook: setup-01-aggregate-central.sh

To see the events received by the consumer application running in the "Europe region", you can run the consumer-europe.sh script.

An alternative topology:

diagram

Ansible playbook: 02-aggregate-distributed/setup.yaml

Example of how to run the playbook: setup-02-aggregate-distributed.sh

Using Mirror Maker 2 to broadcast events to multiple regions

diagram

Ansible playbook: 03-broadcast/setup.yaml

Example of how to run the playbook: setup-03-broadcast.sh

To see the events received by the consumer applications, you can run the consumer-northamerica.sh and consumer-southamerica.sh scripts.

Using Mirror Maker 2 to distribute topics across multiple regions

diagram

Ansible playbook: 04-shared-aggregate/setup.yaml

Example of how to run the playbook: setup-04-shared-aggregate.sh

To see the events received by the consumer applications, you can run the consumer scripts:

Using Mirror Maker 2 to create a failover cluster

diagram

Ansible playbooks:

Example of how to run the playbooks:

Using Mirror Maker 2 to restore events from a backup cluster

diagram

Ansible playbooks:

Example of how to run the playbooks:

Using Mirror Maker 2 to migrate a Kafka cluster to a new region

diagram

Ansible playbooks:

Example of how to run the playbooks: