GithubHelp home page GithubHelp logo

rabbitmqproducermicroservice's Introduction

RabbitMQ Queue Producer SpringBoot Microservice

This project is an example of a Microservice built from the Industry Best Practices.

This includes TDD, BDD, and Unique Design Pattern for Microservices, as well as the installation of various Dockerized servers used to work with this project.
What makes this Microservice unique is the Design Pattern we developed for Spring Boot microservices is used here. For more information please read the Project Documentation.
To access the Project Documentation use this link..

This Project offers a sample SpringBoot project to send messages to a RabbitMQ servers Queue using code built using best practices

Here a Cloud Ready project is provided to run on Amazon (AWS),Microsoft Azure, Google Cloud Platform (GCP).
This project is delivered as a WAR file, so that it can also be run on Tomcat

After reading this page have a look at the project documentation page in section 3 below

1. Features

  • This Project is built using a unique Design Pattern optimized for better Microservices
  • Support is given to Tomcat by project is delivered As a WAR file.
  • Support for Docker is provided by this project.
  • This Microservice can be Customized to support the Database of your choice
  • We created a Design Pattern for the Optimal way to Unit test a Microservice (TDD and BDD)

To learn more about our Design Pattern use this link.

2. Servers and Technologies supported

2.1 RabbitMQ

We use the RabbitMQ server to host the Queues to which this project sends Transactional messages.
We provide installation instructions to install:

  • This in a Ubuntu Linux Server
  • As well as Docker instance
  • Special instructions are provided to run this as a Docker instance creating:
  1. the vhosts(Virtual Hosts)
  2. The admin user.
  3. Giving the admin user access to the vhosts.

2.2 Tomcat

This project uses Maven to generate a WAR file that can be deployed on tomcat.

2.3 Docker

A set of scripts are provided to "Dockerize" this Microservice.
As well as instructions accessible from the Project Documentation are provided

2.4 Portainer

Portainer is used to Start the Docker instances for this project if you are using Docker.

2.5 Database Support

This project is customizable for you to chose your own database technology.
An Interface is provided and an empty Database Service class for you to customize for your requirements.

3. Project Documentation

Explanations on how Our design pattern decouples this Microservice internally. How it facilitates doing Test Driven Development(TDD) and Behaviour Driven Development(BDD) using Mock Service classes. Installation instructions for all servers and Docker containers are provided here

To access the Project Documentation use this link.

4. Building cloud ready microservices using industry best practices DVT White Paper

I have published this white paper : white-paper-building-cloud-ready-microservices-using-industry-best-practices

5. Free Open Source FOS with the License based on GPL Version 3

This project is Free Open Source code FOS.
We provide this Project as free of charge and subject to the terms and license of this project is GPL Version 3.
As this is Free Open Source Project you are welcome to make a fork of this project for commercial use.
In return for that please give the author of this project credit in your MD keeping the next line:
The Source of this project if Forked from GitHub and is Free for Commercial use.

6. No Warranty is provided or implied

This software is provided in terms of South African law as : "VOETS TOETS" "AS IS" (in English) with no warranty and no Guarantee provided or implied That the user shall agree to comply with these terms when using this software.

rabbitmqproducermicroservice's People

Contributors

nic0michael avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar  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.