All Projects → mspnp → Microservices Reference Implementation

mspnp / Microservices Reference Implementation

Licence: other
A reference implementation demonstrating microservices architecture and best practices for Microsoft Azure

Projects that are alternatives of or similar to Microservices Reference Implementation

Spring Boot Microservices
This repo is part of a tutorial about writing microservices using Spring Boot
Stars: ✭ 79 (-88.23%)
Mutual labels:  microservice, microservices-architecture
Go Micro Boilerplate
The boilerplate of the GoLang application with a clear microservices architecture.
Stars: ✭ 147 (-78.09%)
Mutual labels:  microservice, microservices-architecture
Microservices Architecture Guidelines
Designing a Microservices Architecture
Stars: ✭ 86 (-87.18%)
Mutual labels:  microservice, microservices-architecture
Microservices Prototype
Stars: ✭ 72 (-89.27%)
Mutual labels:  microservice, microservices-architecture
Microservices Book
"Microservices Architecture for eCommerce" is an Open Source Book on Microservices and Headless eCommerce. Feel invited to contribute! Read online or download a PDF
Stars: ✭ 337 (-49.78%)
Mutual labels:  microservice, microservices-architecture
Devis
A microservices framework for Node.js
Stars: ✭ 72 (-89.27%)
Mutual labels:  microservice, microservices-architecture
Php Ddd Example
🐘🎯 Hexagonal Architecture + DDD + CQRS in PHP using Symfony 5
Stars: ✭ 1,960 (+192.1%)
Mutual labels:  microservice, microservices-architecture
Hands On Microservices With Csharp 8 And .net Core 3 Third Edition
Hands-On Microservices with C# 8 and .NET Core 3, Third Edition, published by Packt
Stars: ✭ 46 (-93.14%)
Mutual labels:  microservice, azure
api-gateway
Api Gateway for a microservices deployment
Stars: ✭ 31 (-95.38%)
Mutual labels:  microservice, microservices-architecture
node-carotte-amqp
An amqplib wrapper for microservices
Stars: ✭ 27 (-95.98%)
Mutual labels:  microservice, microservices-architecture
Smilr
Microservices reference app showcasing a range of technologies, platforms & methodologies
Stars: ✭ 68 (-89.87%)
Mutual labels:  microservice, azure
Matecloud
🔥MateCloud是一款基于Spring Cloud Alibaba的微服务架构。目前已经整合Spring Cloud Alibaba、Spring Security Oauth2、Feign、Dubbo、JetCache、RocketMQ等服务套件,为您的开发保驾护航
Stars: ✭ 412 (-38.6%)
Mutual labels:  microservice, microservices-architecture
Microservices Example
Example of a microservices architecture on the modern stack of Java technologies
Stars: ✭ 66 (-90.16%)
Mutual labels:  microservice, microservices-architecture
Hands On Microservices With Python
Hands-on Microservices with Python [ video], published by Packt
Stars: ✭ 73 (-89.12%)
Mutual labels:  microservice, microservices-architecture
Microservice
Xigadee is an open-source Microservice framework, developed by Paul Stancer and Guy Steel. The libraries provide a simple and consistent approach for building modern enterprise API and Microservice based solutions; specifically those solutions targeted on the Azure platform.
Stars: ✭ 47 (-93%)
Mutual labels:  microservice, azure
Barong
Barong auth server
Stars: ✭ 100 (-85.1%)
Mutual labels:  microservice, microservices-architecture
Awesome Microservices Netcore
💎 A collection of awesome training series, articles, videos, books, courses, sample projects, and tools for Microservices in .NET Core
Stars: ✭ 865 (+28.91%)
Mutual labels:  microservice, microservices-architecture
Practical Clean Ddd
A simplified and effortless approach to get started with Domain-driven Design, Clean Architecture, CQRS, and Microservices patterns
Stars: ✭ 28 (-95.83%)
Mutual labels:  microservice, microservices-architecture
Spring Cloud Azure
Spring Cloud integration with Azure services
Stars: ✭ 197 (-70.64%)
Mutual labels:  microservice, azure
Microservices Recipes A Free Gitbook
“If you are working in an organization that places lots of restrictions on how developers can do their work, then microservices may not be for you.” ― Sam Newman
Stars: ✭ 393 (-41.43%)
Mutual labels:  microservice, microservices-architecture

Microservices Reference Implementation

Microsoft patterns & practices

This reference implementation shows a set of best practices for building and running a microservices architecture on Microsoft Azure, using Kubernetes.

❗️ The previous advanced Microservices Reference Implementation is now known as the AKS Fabrikam Drone Delivery reference implementation. The AKS Frabrikam Drone Delivery reference implementation is built on top the guidance forming the AKS Baseline Cluster. This basic Microservices Reference Implementation will remain here for your reference but we recommend you to consider basing your work on the AKS Fabrikam Drone Delivery reference implementation.

Guidance

This project has a companion set of articles that describe challenges, design patterns, and best practices for building microservices architecture. You can find these articles on the Azure Architecture Center:

Scenario

​Fabrikam, Inc. (a fictional company) is starting a drone delivery service. The company manages a fleet of drone aircraft. Businesses register with the service, and users can request a drone to pick up goods for delivery. When a customer schedules a pickup, a backend system assigns a drone and notifies the user with an estimated delivery time. While the delivery is in progress, the customer can track the location of the drone, with a continuously updated ETA.

The Drone Delivery app

The Drone Delivery application is a sample application that consists of several microservices. Because it's a sample, the functionality is simulated, but the APIs and microservices interactions are intended to reflect real-world design patterns.

  • Ingestion service. Receives client requests and buffers them.
  • Scheduler service. Dispatches client requests and manages the delivery workflow.
  • Supervisor service. Monitors the workflow for failures and applies compensating transactions.
  • Account service. Manages user accounts.
  • Third-party Transportation service. Manages third-party transportation options.
  • Drone service. Schedules drones and monitors drones in flight.
  • Package service. Manages packages.
  • Delivery service. Manages deliveries that are scheduled or in-transit.
  • Delivery History service. Stores the history of completed deliveries.

Test results and metrics

The Drone Delivery application has been tested up to 2000 messages/sec:

Replicas ~Max CPU (mc) ~Max Mem (MB) Avg. Throughput*  Max. Throughput* Avg (ms) 50th (ms) 95th (ms) 99th (ms)
Nginx 1 N/A N/A serve: 1595 reqs/sec serve: 1923 reqs/sec N/A N/A N/A N/A
Ingestion 10 474 488 ingest: 1275 msgs/sec ingest: 1710 msgs/sec 251 50.1 1560 2540
Workflow (receive messages) 35 1445 79 egress: 1275 msgs/sec egress: 1710 msgs/sec 81.5 0 25.7 121
Workflow (call backend services + mark message as complete) 35 1445 79 complete: 1100 msgs/sec complete: 1322 msgs/sec 561.8 447 1350 2540
Package 50 213 78 N/A N/A 67.5 53.9 165 306
Delivery 50 328 334 N/A N/A 93.8 82.4 200 304
Dronescheduler 50 402 301 N/A N/A 85.9 72.6 203 308

*sources:

  1. Serve: Visual Studio Load Test Throughout Request/Sec
  2. Ingest: Azure Service Bus metrics Incoming Messages/Sec
  3. Egress: Azure Service Bus metrics Outgoing Messages/Sec
  4. Complete: AI Service Bus Complete dependencies
  5. Avg/50th/95th/99th: AI dependencies
  6. CPU/Mem: Azure Monitor for Containers

Deployment

To deploy the solution, follow the steps listed here.


This project has adopted the [email protected] with any additional questions or comments.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].