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开发者,帮助大家开启全新的现代应用开发体验!