開篇-開啟全新的.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.pswp.cn/news/284056.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/284056.shtml
英文地址,請注明出處:http://en.pswp.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面狀數據符號化設置案例教程 文章目錄 一、單一符號二、分類三、漸進四、基于規則五、點的位移六、點聚類七、熱圖一、單一符號 跟面狀符號一樣,…