当前位置: 首页 > 软件库 > 云计算 > 云原生 >

microservices-reference-implementation

授权协议 View license
开发语言 Google Go
所属分类 云计算、 云原生
软件类型 开源软件
地区 不详
投 递 者 江飞白
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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 Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

 相关资料
  • Vert.x Service Discovery Vert.x Circuit Breaker Vert.x Config

  • Microservices infrastructure 是一个为快速部署全球分布式服务的现代平台。 基础平台包括可以用来管理集群和资源节点数量的控制节点。容器可以自动在 DNS 上注册,从而使其他服务能够定位到它们 一旦 WAN 配置好了,每个集群可以通过 DNS 或者 Consul API 在其他数据中心定位服务。 平台架构: 单数据中心: 多数据中心: 控制节点: 资源节点: Core Co

  • CoolStore Web Application - �� Modern Application on Dapr and Tye ⛵ CoolStore Website is a containerised microservices application consisting of services based on .NET Core running on Dapr. It demonst

  • Sock Shop : A Microservice Demo Application The application is the user-facing part of an online shop that sells socks. It is intended to aid the demonstration and testing of microservice and cloud na

  • zlt-microservices-platform 如果您觉得有帮助,请点右上角 "Star" 支持一下谢谢   1. 总体架构图   2. 功能介绍   3. 项目介绍 技术交流群 交流三群 详细在线文档 :https://www.kancloud.cn/zlt2000/microservices-platform/919418 项目更新日志 文档更新日志 演示环境地址: http://zlt

  • microservices-dashboard, 显示 Spring Boot 微服务和其关联的组件的仪表板 运行截图: 示例代码: 从 Spring Boot 中去掉 UI <dependency>    <groupId>be.ordina</groupId>    <artifactId>microservices-dashboard-server</artifactId>    <vers