GithubHelp home page GithubHelp logo

robece / dapr-retropos Goto Github PK

View Code? Open in Web Editor NEW
23.0 2.0 5.0 965 KB

RetroPOS is a fictional project to foster learning through Cloud Native practices in Azure using .NET Core microservices.

License: MIT License

C# 49.54% Dockerfile 2.44% HTML 22.71% PowerShell 25.30%
dapr keda azure microservices event-driven netcore

dapr-retropos's Introduction

Dapr Retro Point of Sales (Backend Workflows)

Customer Story

Dapr Retro Point of Sales (Backend Workflows) is an event-driven microservices based architecture for POS Distributed Systems Ltd., which will enable scalability with a plugable design for the next generation of cloud point of sales.

After evaluating a variety of approaches and technologies, the engineering team has decided to use technologies like .NET Core, Containers, Functions, Dapr and KEDA to enable system scalability and functionality such as reliable state, bindings, triggers, distributed tracing, secret management, service to service invocation.

Learning along the way

These set of workflows intents to be a part of a production ready architecture, tested under heavy loads and mitigating possible scalability issues by using modern microservices practices, that can be use to learn on the road, we encourage to deploy the solution and learn on the road by exploring each component and configuration. In order to make this project achievable there are some technologies predefined, however, you can add or remove components in your own design to make it more flexible.

Prerequisites

Attribute Details
Dapr runtime version 0.11.2
KEDA 1.5.0
HELM 3.2.1
.NET Core 3.1
Azure Functions Core Tools 3.x
Azure CLI 2.12.1
Docker Desktop 2.4.0.0
Visual Studio Community 2019 or Code Required
Azure Subscription Required
Language C#
Environment Local or Kubernetes

Index

  1. Azure Deployment

    • Deploy or remove all resources used by the solution with these scripts.
  2. Kubernetes Service Setup

    • Configure all the Kubernetes Service components used by the solution.
  3. Workflow 1 - API to Queue / Queue to Function

    diagram description
    The purpose of this workflow it's to represent an exposed API that will be receiving messages from an external worker service, these messages will be stored in the Azure Service Bus Queue and eventually they will be consumed and processed by a ServiceBusTrigger Function to finally send the results to an storage.

Credits

I want to thank to my Cloud Native Global Black Belt team (aka. Dapr Vigilantes) for this great contribution: https://github.com/azure/dapr-gbb-workshop that I used to accelerate my learning and adoption of Dapr.

I want to thank Houssem Dellai (@houssemdellai) for this great contribution: https://github.com/houssemdellai/aks-keyvault that I used to create part of the AAD Pod Identity documentation.

dapr-retropos's People

Contributors

robece avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 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.