开篇-开启全新的.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,一经查实,立即删除!

相关文章

Ubuntu安装docker详细教程

1.安装 sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common && curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && sudo add-apt-repository &qu…

java多线程编程——锁优化

并发环境下进行编程时,需要使用锁机制来同步多线程间的操作,保证共享资源的互斥访问。加锁会带来性能上的损坏,似乎是众所周知的事情。然而,加锁本身不会带来多少的性能消耗,性能主要是在线程的获取锁的过程。如果只有…

【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 某工控自动化控制系统 卡死分析

一:背景 1. 讲故事前段时间遇到了好几起关于窗体程序的 进程加载锁 引发的 程序卡死 和 线程暴涨 问题,这种 dump 分析难度较大,主要涉及到 Windows操作系统 和 C 的基础知识,所以有必要简单整理和大家分享一下,上 win…

BZOJ4573:[ZJOI2016]大森林——题解

http://www.lydsy.com/JudgeOnline/problem.php?id4573 https://www.luogu.org/problemnew/show/P3348#sub http://uoj.ac/problem/195 https://loj.ac/problem/2092 小Y家里有一个大森林,里面有n棵树,编号从1到n。一开始这些树都只是树苗,只…

Spring中神奇@aotuWrited

好久没有写博客了,放假就是充电学习的时候,的确一直是这样做的。来给自己一点掌声。我们还是进入今天的主题吧。 我们自己写代码一般会向下面这样干啊,因为这样简单,其余交给spring去做吧。Spring会自动把生成的userService注入进…

40个常用的springBoot注解

一、Spring Web MVC注解 RequestMapping RequestMapping注解的主要用途是将Web请求与请求处理类中的方法进行映射。 Spring MVC和Spring WebFlux都通过RquestMappingHandlerMapping和RequestMappingHndlerAdapter两个类来提供对RequestMapping注解的支持。 RequestMapping注解…

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

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

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

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

Shell 学习笔记之运算符

基本运算符 算术运算符 val expr 2 2 需要注意的是 表达式和运算符之间需要有空格(比如2 2,不能是22)两边最外面的字符是,在esc键下面,不是引号哦乘号* 前面必须加上反斜杠 \ 才能实现乘法效果,比如 exp…

POJ 2353 DP

双向DP记录路径。 // by SiriusRen #include <stack> #include <cstdio> #include <cstring> using namespace std; stack<int>s; int n,m,RECL,RECR,minn0x3fffffff,a[555][555],f[555][555],recl[555][555],recr[555][555]; int main(){memset(f,0x3…

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

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

Linux 操作必备 150 个命令

linux 命令是对 Linux 系统进行管理的命令。对于 Linux 系统来说&#xff0c;无论是中央处理器、内存、磁盘驱动器、键盘、鼠标&#xff0c;还是用户等都是文件&#xff0c; Linux 系统管理的命令是它正常运行的核心&#xff0c;与之前的 DOS 命令类似。 linux 命令在系统中有两…

dotnet 6 为什么网络请求不跟随系统网络代理变化而动态切换代理

本文记录在 dotnet 6 的网络和在 .NET Framework 的行为的变更。在 dotnet 6 下&#xff0c;默认的网络请求在系统网络代理变更的时候&#xff0c;是不会动态切换代理的。例如在应用运行进行网络通讯之后&#xff0c;打开 Fiddler 抓包&#xff0c;此时将会发现 Fiddler 抓不到…

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

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

Socket编程:之双机通信

服务端&#xff1a; 1 #include<sys/socket.h>2 #include<sys/types.h>3 #include<stdio.h>4 #include<unistd.h>5 #include<stdlib.h>6 #include<string.h>7 #include<netdb.h>8 #include<netinet/in.h>9 #include<arpa/i…

jquery中$each()

$.each()&#xff1a;可用于遍历任何的集合(无论是数组或对象) $(selector).each()&#xff1a;专用于jquery对象的遍历, 如果是数组,回调函数每次传入数组的索引和对应的值(值亦可以通过this 关键字获取,但javascript总会包装this 值作为一个对象—尽管是一个字符串或是一个数…

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

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