开篇-开启全新的.NET现代应用开发体验

c0d9e5eaafcb187f12b6992631b0eefa.png

01

云原生技术底座畅想

d356f149c748f302309ef49f1e4ef3d0.png

Dapr

MASA Framework

研发管理

研发协作平台:CI/CD、Application Management

Application 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

02

设计灵感源于Mecha

90fba12405f3cf0ad054616b7f3e639b.png

能力

单体/分布式皆可

配置

可配置但约定优于配置

开放

任意替换

标准

面向接口编程

组合

全功能按需引用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/

03

MASA  Framework 的结构

abc28f62210e2080646f8cc25d4b84b5.png

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

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

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

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

04

构建块的能力

68cb3d596de34d17782b1df895510ade.png

05

现代应用架构畅想

436672b165436cde46b7351cc0dfd1fd.png

06

MASA Stack 项目架构

dcb57d1c3a44aebb66cbf52e55788cbd.png

企业级云原生技术底座

快速开发框架 

多云管理

DevOps

服务治理,数据治理

可视化监控

AI

07

我们的优势

efd854d2c925c6f4fc303cd1ad8b74e9.png

现代应用开发体验

-能力-架构不限
-标准-面向接口编程
-配置-可配置,遵循约定优于配置
-组合-全功能按需引用

-开放-所有能力都可被任意替换

开源

-全职开源团队,快速响应
- MIT协议,可放心商用

-微软代码规范,欢迎共同维护

社区

-多位.NET领域大咖推荐
-共同引领微软技术生态
-开放的社区

-定期社区例会,线上线下Meetup互动

08

实战课程安排

05388930e8f588980c2ceec36b4a4dd7.png

第一课

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. 如何做开源贡献

5d0bfb234535c1f5d5fb28545ecd4a81.gif

点击链接观看直播回放

扫码进群,了解更多

MASA Framework欢迎你的加入

4d7006877f94a2e4b826d320cca2e4f0.png

ba47fc6dee556c4bfdced12b49aad479.gif

《MASA Framework实战课程》已开课

点击“阅读原文”查看课程安排

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/284056.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【QGIS入门实战精品教程】10.3:QGIS栅格DEM数据重复类方法案例汇总

QGIS栅格DEM数据重复类方法案例汇总:按表格重分类、按图层重分类。 参考阅读: 【GlobalMapper精品教程】029:栅格重分类案例详解 ArcGIS实验教程——实验四十三:ArcGIS栅格重分类(Reclass)案例详解 ArcGIS怎样获取重分类后各类所占的像元个数 文章目录 一、按表格分类二、…

QT添加rtmp库的时候出现问题

刚开始出现undefined reference to __chkstk的错误。 然后在vc里面找到chkstk.obj放到相关目录下并在工程文件直接添加: LIBS "E:\QTProjects\RTMP\RTMPDelayTest\librtmp\lib\chkstk.obj" 又出现了新的错误 E:\QTProjects\RTMP\RTMPDelayTest\librtmp\l…

@Before,@BeforeClass,@BeforeEach和@BeforeAll之间的区别

Before的代码在每次测试之前执行 BeforeClass在整个测试方法执行之前运行一次 如果您的测试类有十个测试,则Before代码将执行十次,但是BeforeClass将仅执行一次。 当多个测试需要共享相同的代码时,可以使用BeforeClass 。 建立数据库连接属于…

.NET MAUI 跨平台应用开发 I|.NET MAUI 跨平台基础

编辑:Alan Wang排版:Rani Sun微软 Reactor 为帮助广开发者,技术爱好者,更好的学习 .NET Core, C#, Python,数据科学,机器学习,AI,区块链, IoT 等技术,将每周三到周六&…

走出宣传,国产VR手机盒子到底哪家强?

国产VR手机盒子作为入门机是一个不错的选择,不过你知道哪一款更适合你吗? 从去年看虚拟现实还是一个遥不可及的梦,今年却真正的火起来了。各大厂商纷纷推出自家的VR设备,宣传活动如火如荼。爱尝鲜的你是否按耐不住? 如果你觉得动…

【ArcGIS Pro微课1000例】0024:自定义坐标系统---以阿尔伯斯投影(Albers)为例

在实际工作中,经常需要进行矢量数据或栅格数据的投影转换工作,但有时候ArcGIS中恰恰没有我们需要的坐标系,此时,就需要我们自定义坐标系。本文以阿尔伯斯投影(Albers)为例,讲解自定义投影的一般过程及注意事项。 文章目录 一、自定义坐标系二、投影转换一、自定义坐标系…

旧金山参议员提议发布“封杀令”,理由是马路不为机器人所服务

说实话,这个理由有够奇葩。 因为快递无人机所受限制颇多,渐渐地,越来越多的快递机器人被研制出来(这里的“机器人”,包括无人车和及机器人),用于城市的快递发送,比如国内的京东无人…

【QGIS入门实战精品教程】7.2:QGIS点状数据符号化设置案例教程

点状符号化的类型有:单一符号、分类、渐进、基于规则、点的位移、点聚类、热图。 相关阅读: 【QGIS入门实战精品教程】7.1:QGIS面状数据符号化设置案例教程 文章目录 一、单一符号二、分类三、渐进四、基于规则五、点的位移六、点聚类七、热图一、单一符号 跟面状符号一样,…

SpringCloud与Dubbo的比较

Dubbo 一、dubbo简介 Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的RPC实现服务的输出和输入功能,可以和Spring框架无缝集成。 Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力&#xff…

VR 技术加上 8K 画质! 2016 年里约奥运会亮点十足

据报道,2016 年里约奥运会将运用到 VR 技术。 最近,奥林匹克广播服务公司(OBS)表示出对虚拟现实技术的兴趣,其实用虚拟现实技术报道赛事已经不是什么新鲜的事了,之前 NBA 就这样做过,但是将奥运…

WPF 实现柱形统计图

WPF 实现柱形统计图WPF 实现柱形统计图作者:WPFDevelopersOrg原文链接: https://github.com/WPFDevelopersOrg/WPFDevelopers框架使用大于等于.NET40;Visual Studio 2022;项目使用 MIT 开源许可协议;避免画线发虚DrawingContext…

100亿人口会挨饿吗?人工智能迎击全球粮食问题

给作物看病的AI、走路“长眼”的拖拉机、上帝视角的卫星数据分析——未来吃饭就靠它们了。 图片来源:Blue River Technology 人类又面临了一项危机——随着人口不断膨胀,到2050年人类总人口也许要达到100亿,然而,地球却没有等比例…

switch注意事项

Day03_SHJavaTraining_4-5-2017 switch注意事项:①switch语句接受的数据类型  switch语句中的表达式的数据类型,是有要求的    JDK1.0 - 1.4 数据类型接受 byte short int char    JDK1.5 数据类型接受 byte short int char enum(枚举)  …

SkiaSharp 之 WPF 自绘 粒子花园(案例版)

此案例包含了简单的碰撞检测,圆形碰撞检测方法,也可以说是五环弹球的升级版,具体可以根据例子参考。粒子花园这名字是案例的名字,效果更加具有科技感,很是不错,搞搞做成背景特效也是不错的选择。Wpf 和 Ski…

xshell连接ubuntu

1.更新资料列表 sudo apt-get update2.安装openssh-server sudo apt-get install openssh-server3.查看ssh服务是否启动 sudo ps -e | grep ssh4.如果没有启动,启动ssh服务 sudo service ssh start5.查看IP地址 sudo ifconfig如果出现xshell无法输入密码的情况…

教你从零开始搭建一款前端脚手架工具

本文系原创,转载请附带作者信息:Jrain Lau项目地址:https://github.com/jrainlau/s...前言 在实际的开发过程中,从零开始建立项目的结构是一件让人头疼的事情,所以各种各样的脚手架工具应运而生。笔者使用较多的yoeman…

微信小程序 --- 页面跳转

第一种:wx.navigateTo({}); 跳转: 注意:这种跳转回触发当前页面的 onHide 方法,将当前页面隐藏,然后显示跳转页面。所以可以返回,返回的时候触发 onShow方法进行显示: (项目的底部导…

Java基础 深拷贝浅拷贝

Java基础 深拷贝浅拷贝 非基本数据类型 需要new新空间class Student implements Cloneable{private int id;private String name;private Vector course;public Student(){try{Thread.sleep(1000);System.out.println("Student Constructor called.");}catch (Interr…

不安装运行时运行 .NET 程序

好久没写文章了,有些同学问我公众号是不是废了?其实并没有。其实想写的东西很多很多,主要是最近公司比较忙,以及一些其他个人原因没有时间来更新文章。这几天抽空写了一点点东西,证明公众号还活着。长久以来的认知&…

一文弄懂分布式和微服务

简单的说,微服务是架构设计方式,分布式是系统部署方式,两者概念不同。 微服务 简单来说微服务就是很小的服务,小到一个服务只对应一个单一的功能,只做一件事。这个服务可以单独部署运行,服务之间可以通过R…