MASA Framework 开启全新的.NET现代应用开发体验

1.云原生技术底座畅想

在这里插入图片描述

从底部的基建层面,它应该拥有混合云管理能力,通过分布式运行时Dapr实现诸多中间件标准化连接,在此之上我们提供给开发者一套快速开发框架MASA Framework,通过它能够快速实现分布式、微服务、DDD,SaaS等现代应用开发。再往上是一站式的IT现代应用交付解决方案,包括:

研发管理

研发协作平台:CI/CD、Application ManagementApplication Quota Management、Version Control、Troubleshooting、Testable

网格应用程序管理

API网关:Reverse Proxy、Traffic Control 、Security Strategy、Authentication、Dapr Adapter

应用治理:Circult Breaker、Traffic Limiting、 Fault Injection、Load Balancing、 Health Check

网格应用:Any Language Application、Registration&Discovery

数据开发与治理

可视化:BI、Large Screen、Designer

数据服务:OLAP Analysis、 Version Control

数据计算:Batch Computing、Stream Computing、 Data Warehouse

数据开发:Ofline Date Collection、Real-Time Date Collection

数据治理:Data Security、Data Quality 、Data Specification、Data Modeling、Data Lineage、 Data Dictionary

可观测性

可观测性监控:Alert Specification、Custom Dashboard、Open Telemetry

分析:Application Topology、Tracing、Alert Stistics、Log Analysis、Periodic Report

网格应用监控:Application Health Check、Application Indicator Monitoring

必要的监控:Slow Tracing、APM

集群资源监控:Container Monitoring、Cluster Monitoring、infrastructure Monitoring

2.设计灵感源于Mecha在这里插入图片描述

能力:单体/分布式皆可
配置:可配置但约定优于配置
开放:任意替换
标准:面向接口编程
组合:全功能按需引用Out of Biz Code

通用的,高度可配置的,可重用的组件,提供分布式原语作为现成的能力

不对Micrologic运行时做任何假设。它与使用开放协议和格式(例如HTTP/GRPC,JSON, Protobuf, CloudEvents)的多语言微服务甚至单体一起使用

可以与单个Micrologic组件一起部署(Sidecar模式),也可以部署为多个共享

以简单的文本格式(例如YAML,JSON)声明式地配置,指示要启用的功能以及如何将其绑定到Micrologic端点

与其依靠多个代理来实现不同的目的(例如网络代理,缓存代理,绑定代理),不如使用一个Mecha

提供所有这些能力信息来源:https://skyao.io/talk/202004-mecha-mesh-through-to-the-end/

3.MASA  Framework 的结构在这里插入图片描述

Building Blocks >>接口&能力>>提供非业务能力的接口,并提供组合多个能力形成新的能力的最佳实践

Contrib>>实现>>基于构建块的接口标准提供最佳实践,可被替换实现

Utils>>通用类库>>底层通用能力,可被用于业务和Contrib

Templates>>模板>>用于创建项目

4.构建块的能力在这里插入图片描述

MASA Framework已经能够提供以上20个构建块的能力,包括MASA Stack SDK、身份、配置、数据、领域驱动设计、调度器、绑定、隔离性、可观测性、搜索引擎、服务、读写分离、认证、缓存、储存、可测试性、一致性、面向切面编程、国际化、规则引擎

5.现代应用架构畅想

在这里插入图片描述

通过集成MASA Framework能力,让开发人员更多的关注编写业务代码。同时MASA Framework内置Dapr最佳实践,再配合MASA Stack使用,这才是我们认为的最佳的现代应用架构

6.MASA Stack 项目架构

在这里插入图片描述

企业级云原生技术底座

MASA Stack是开源企业级云原生技术底座 PaaS,包含企业IT现代应用开发交付的全部板块,如流量治理、服务治理、数据治理、可观测性、DevOps等一站式解决方案

7.我们的优势

在这里插入图片描述

现代应用开发体验

  • 能力-架构不限
  • 标准-面向接口编程
  • 配置-可配置,遵循约定优于配置
  • 组合-全功能按需引用-开放-所有能力都可被任意替换

开源

  • 全职开源团队,快速响应
  • MIT协议,可放心商用-微软代码规范,欢迎共同维护

社区

  • 多位.NET领域大咖推荐
  • 共同引领微软技术生态
  • 开放的社区
  • 定期社区例会,线上线下Meetup互动

8.实战课程安排在这里插入图片描述

第一课MASA Framework的设计理念

1.什么是现代应用开发?
2.MASA Framework的诞生
3.为什么选择MASA Framework?

第二课如何做产品设计

DDD实践、事件风暴、C4模型、架构设计、前后分离

第三课解决方案搭建

技术栈清单、项目准备、初始化、MASA Blazor介绍、用户登录

第四课开发类目管理

CQRS、RESTful、记录事件 (Dispatcher Middleware)

第五课开发商品管理

接口缓存、双写、Fluent Validation、审计、软删除、映射;图片上传存储;Dapr ServiceInvocation

第六课开发首页、商品详情页

高并发解决方案、缓存设计

第七课开发订单主线流程(一)购物车、下单

最终一致性(本地消息、补偿、重试、幂等)、下单异常(Saga)、通知推送(模板、SignalR)

第八课开发订单主线流程(二)秒杀、支付

高并发 (Actor)、最终一致性

第九课开发订单主线流程(三)订单查询

AutoComplete用法、Elasticsearch操作技巧

第十课多语言实现

前后端方案、MASA DCC进阶

第十一课隔离性实现

租户隔离、环境隔离第

第十二课全局异常处理

l18n、错误码、 用户友好异常

第十三课可观测性配置

OpenTelemetry、.Net Diagnostics、Dapr Observability

第十四课测试

Mock、TDD

第十五课回顾和总结

1.进阶课程安排预告
2.如何做开源贡献

MASA Framework希望将我们的最佳实践输出给.NET开发者,帮助大家开启全新的现代应用开发体验!

posted @ 2022-08-02 14:19  MASA技术团队  阅读(4637)  评论(7编辑  收藏  举报