Giter VIP home page Giter VIP logo

helper-patterns's Introduction

About

This repo contains basic examples to highlight helper container design patterns.

The patterns show are:

  • Sidecar
  • Ambassador

These patterns are shown against simulated applications. The purpose of each 'application' is to retrieve images of dogs from Dog API. The helper patterns are used to monitor the API requests and send a Slack notification upon an error.

Usage

Requirements

Python dependencies

flask
requests

Node.js dependencies

axios
winston

Slack Webhook

Upon encountering an error, an HTTP POST request is made to a Slack Webhook.

Set up an Incoming Webhook using the Slack API Documentation.

Update slack_url / SLACK_URL variables in the code with the Webhook URL from the above documentation. NB: There are placeholder values "<slack_webhook>" which need to be replaced.

Running

There are two main scripts, written in Python and Node.js, which simulate different applications. Run them respectively with:

python main.py
node main.js

Each of these main application contains an enum to simulate the different design patterns. Set the Mode to either STANDALONE, SIDECAR or AMBASSADOR to use that particular pattern.

The helper scripts should be run in another terminal window when using the corresponding mode:

python ambassador.py
or
python sidecar.py [ py.log | js.log ]

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.