日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

手把手教你学Dapr - 1. .Net开发者的大时代

發(fā)布時間:2023/12/4 asp.net 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 手把手教你学Dapr - 1. .Net开发者的大时代 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Dapr全稱

Distributed Application Runtime,分布式應(yīng)用運行時

Dapr的口號

簡化云原生應(yīng)用開發(fā),聚焦在應(yīng)用的核心邏輯,讓代碼簡單、可移植

Dapr的目標

  • 最佳實踐的構(gòu)建塊

  • 任何語言或框架

  • 一致性,可移植,開放的API

  • 采納標準

  • 可擴展和可插拔的組件

  • 與平臺無關(guān)(本地,云計算,邊緣計算等)

  • 社區(qū)驅(qū)動,供應(yīng)商(廠商)中立

  • Dapr的設(shè)計思路

    這里首先要先理解幾個問題,然后再看Dapr如何解決這些問題的

    以下資料都有英文原圖,中文翻譯為個人理解,英文好的小伙伴可以直接看原圖。

    微服務(wù)為什么很難

  • 開發(fā)者要構(gòu)建自己的運行時處理分布式應(yīng)用問題

  • 運行時支持的開發(fā)語言有限,且有嚴格控制的特性(功能)集合

  • 運行時的可移植性有限,一般只支持特定的基礎(chǔ)架構(gòu)平臺

  • 分布式應(yīng)用的需求

    內(nèi)容引自 Multi-Runtime Microservices Architecture https://www.infoq.com/articles/multi-runtime-microservice-architecture/

    注意:二級內(nèi)容不與圖片對應(yīng),把功能組合成場景

    • 生命周期

      • 更快的發(fā)布周期

      • 自動化部署

      • 從錯誤中恢復

      • 自動化伸縮

    • 網(wǎng)絡(luò)

      • 服務(wù)發(fā)現(xiàn)

      • 跟蹤與遙測(可觀測性)

      • 信息交換:點對點、發(fā)布/訂閱,智能路由

    • 狀態(tài)

      • 服務(wù)編排、工作流

      • 分布式單例(Actor)

      • 臨時調(diào)度(Cron)

      • 冪等性

      • 有狀態(tài)錯誤恢復

      • 緩存

    • 綁定

      • 轉(zhuǎn)換協(xié)議

      • 支持不同的消息交換模式:輪詢、事件驅(qū)動、請求/應(yīng)答等

      • 轉(zhuǎn)換消息格式

      • 執(zhí)行自定義錯誤恢復過程

      • 安全機制

    傳統(tǒng)中間件和云原生對比

    傳統(tǒng)中間件以各種SDK的方式提供能力,而云原生平臺則通過各種外圍的Runtime,目前來看比較有趣的是,大家不約而同的選擇了Sidecar

    多運行時微服務(wù)邊界

    • K8s和容器在多語言應(yīng)用程序的生命周期管理方面取得了巨大的飛躍,并為未來的創(chuàng)新奠定了基礎(chǔ)

    • Service Mesh在K8s上得到了改進,具有先進的網(wǎng)絡(luò)功能,并開始深入應(yīng)用程序

    • Knative通過快速伸縮來關(guān)注無服務(wù)器的工作負載,解決了服務(wù)編排和事件驅(qū)動的綁定需求

    • Dapr以K8s、Knative和Service Mesh的思想為基礎(chǔ),深入研究應(yīng)用程序運行時,處理有狀態(tài)的工作負載、綁定和集成需求,充當現(xiàn)代分布式中間件

      主要分為3個部分,K8s、機甲運行時(網(wǎng)關(guān)、Dapr + Knative)、業(yè)務(wù)邏輯。

      Dapr的出現(xiàn)可以讓開發(fā)者更專注于業(yè)務(wù)邏輯,而業(yè)務(wù)邏輯則作為服務(wù)運行時。

    多運行時的好處

    業(yè)務(wù)邏輯和不斷增加的分布式系統(tǒng)關(guān)注點之間的松耦合。

    業(yè)務(wù)邏輯經(jīng)常變化,取決于業(yè)務(wù)優(yōu)先級。

    而分布式原語則由軟件供應(yīng)商提供,作為庫、容器、服務(wù)來使用。這些代碼會根據(jù)供應(yīng)商優(yōu)先級、發(fā)布周期、安全補丁、開源治理規(guī)則等而變化。

    他們互相看不到對方,也無法控制對方。

    Dapr的優(yōu)勢:Any language, anywhere

    與語言無關(guān),與平臺無關(guān)

    分布式應(yīng)用運行時

    官方解釋

    幫助開發(fā)人員構(gòu)建事件驅(qū)動的、彈性的分布式應(yīng)用程序。無論是在本地、云中還是在邊緣設(shè)備上,都可以幫助你解決構(gòu)建微服務(wù)所帶來的挑戰(zhàn),并保持代碼與平臺無關(guān)。

    可以看到Dapr更具象化了

  • 與應(yīng)用程序通過HTTP和gRPC通信

  • 內(nèi)部有一些構(gòu)建塊

  • 運行在云上

  • Dapr與服務(wù)網(wǎng)格

    • 開發(fā)者更聚焦在代碼層面,通過SDK(圖中沒有標注)與dapr的構(gòu)建塊通信,面向localhost編程

    • 運維更關(guān)注安全性、可觀測性、健壯性等問題上。而流量管控的部分,dapr(可能是暫時的)沒有。

    Sidecar的世界

  • 應(yīng)用于Sidecar通信是通過Dapr API(已經(jīng)被封裝成不同開發(fā)語言的SDK),這個過程中通過OpenTelemetry支持了可觀測性(即跟蹤、日志、指標)

  • 應(yīng)用之間通過Sidecar通信,支持mTLS,這個指服務(wù)調(diào)用(即Service Invocation)

  • Sidecar 之間通過gRPC(圖片中沒有顯示),Bindings,Pub/Sub都可以通信

  • 可觀測性無處不在,通過Prometheus、Zipkin、Fluentd等,可視化OpenTelemetry中的部分數(shù)據(jù)

  • 但目前據(jù)我所知沒有一個可以統(tǒng)一接管完整OpenTelemetry的,如果有的話歡迎糾錯。

  • 狀態(tài)管理也是由Sidecar代理的

  • 對于.Net的意義

    • .Net SDK是微軟親兒子,讓.Net有幸和Java一起站在了同一起跑線

    • 分布式應(yīng)用運行時給.Net的新架構(gòu)帶來了新的思路和機遇

    • 加速.Net技術(shù)棧的更新迭代

    • 共享開源生態(tài)

    我們正在行動,新的框架、新的生態(tài)

    我們的目標是自由的、易用的、可塑性強的、功能豐富的、健壯的。

    所以我們借鑒Building blocks的設(shè)計理念,正在做一個新的框架MASA Framework,它有哪些特點呢?

    • 原生支持Dapr,且允許將Dapr替換成傳統(tǒng)通信方式

    • 架構(gòu)不限,單體應(yīng)用、SOA、微服務(wù)都支持

    • 支持.Net原生框架,降低學習負擔,除特定領(lǐng)域必須引入的概念,堅持不造新輪子

    • 豐富的生態(tài)支持,除了框架以外還有組件庫、權(quán)限中心、配置中心、故障排查中心、報警中心等一系列產(chǎn)品

    • 核心代碼庫的單元測試覆蓋率90%+

    • 開源、免費、社區(qū)驅(qū)動

    • 還有什么?我們在等你,一起來討論

    經(jīng)過幾個月的生產(chǎn)項目實踐,已完成POC,目前正在把之前的積累重構(gòu)到新的開源項目中

    目前源碼已開始同步到Github(文檔站點在規(guī)劃中,會慢慢完善起來):

    MASA.BuildingBlocks

    MASA.Contrib

    MASA.Utils

    MASA.EShop

    BlazorComponent

    MASA.Blazor

    QQ群:7424099

    微信群:加技術(shù)運營微信(MasaStackTechOps),備注來意,邀請進群

    總結(jié)

    以上是生活随笔為你收集整理的手把手教你学Dapr - 1. .Net开发者的大时代的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。