Git Product home page Git Product logo

localmessaging's Introduction

Basic infrastructure config to create/run enterprise messaging platforms locally

Maintainer

Purpose

These are some scripts I use to create, configure, & run RabbitMQ & Apache Kafka on my local machine for live-coding sessions.

Note
This should be obvious, but these scripts/configurations are not intended to be "enterprise grade" and used for production loads! Use them at your own risk. They work great for development and demos, though.

I typically use some or all of these to spin up/down Docker containers in support of my sessions titled "Drinking from the Stream: How to use messaging platforms for scalability & performance" and "Building Reactive Pipelines: How to go from scalable apps to (ridiculously) scalable systems". For related code repos (with links to related slides), please see links at the bottom of this README.

Here is the general order of things to set it up like I use it:

  1. Install Docker on your machine

  2. git clone this repo (or fork, then clone, etc.)

  3. Start Docker

  4. Create the various images & start the associated containers (this must only be done once)

    1. Run the runRabbitWMgmt.sh script to create local Rabbit image & run the container

    2. Run the runKafka.sh script to create local Zookeeper & Kafka images & run one container of each

  5. Run the stopMessagingPlatforms.sh script to shut it all down

  6. For subsequent startup/shutdown of these containers, simply run startMessagingPlatforms.sh & stopMessagingPlatforms.sh to start/stop

The start/stop scripts are simply convenience scripts that do a docker start / docker stop of existing local containers.

Note
I use the RabbitMQ image that includes the RabbitMQ management console. This is really useful for monitoring & managing your Rabbit config (exchanges, queues, pushing test messages into, extracting from, purging, etc.).

And of course, you can watch this repo to be notified of updates. Thanks!

localmessaging's People

Contributors

mkheck avatar

Watchers

James Cloos avatar Juan Pablo Prado avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.