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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

在 k8s 以外的分布式环境中使用 Dapr

發布時間:2023/12/4 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在 k8s 以外的分布式环境中使用 Dapr 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在Dapr 文檔和實踐案例中多是推薦采用k8s, 其實我目前也是在k8s 上操作的,有公有云TKE,AKS,還有私有云的Rancher ,它并沒有傳聞中的那么難,而且我認為它非常容易上手。不過,我還是有很多人不愿意使用k8s 。那么在虛擬機場景下如何使用Dapr呢?當然也有虛擬機部署的案例,比如2021年第一屆DaprConf 上分享的Dapr case study: Man Group:https://blog.dapr.io/posts/2021/10/05/join-us-for-daprcon-october-19th-20th-2021/?

如果我們脫離K8s 的 虛擬機環境下會碰到什么問題?

  • 你需要安裝 Docker 來運行 Dapr

  • 使用Invoke API進行名稱解析時無法在其他服務器上找到 Dapr 應用程序

  • 除了這兩個問題,應該沒有什么其他問題,因為根據 Dapr 的配置文件,它使用了外部服務器或者服務。

    我們先來看一下第一個問題,在沒有 Docker 的情況下使用 Dapr ,官方文檔里已經給我們了答案:入門指南: 不使用 Docker 在自托管模式下運行 Dapr。

    Dapr CLI 提供了使用 slim init 初始化 Dapr 的選項,而無需默認創建依賴于 Docker 的開發環境。要使用 slim init 初始化 Dapr ,請在安裝 Dapr CLI 后使用以下命令:

    dapr init –slim

    在此模式下安裝了兩個不同的二進制文件 daprd 和 placement。在此模式下,不會為狀態管理或發布/訂閱安裝任何默認組件,例如Redis 和 Zipkin 不會安裝,但是如果需要的話會單獨設置,所以沒有問題。

    那么第二個問題是 名稱解析 ,我們還是來看一下官方文檔里的 使用 服務調用概述-mDNS 輪詢負載均衡:https://docs.dapr.io/zh-hans/developing-applications/building-blocks/service-invocation/service-invocation-overview/,Dapr 使用 mDNS 協議提供輪詢負載均衡的服務調用請求,例如用于本地或多個聯網的物理機器。但是mDNS只能在可以使用多播的環境中使用,這在云環境下通常是不可用的,在云環境下還有一個選擇,官方文檔里有 :詳細介紹了關于 HashiCorp Consul 服務發現組件的信息,它既可以用于虛擬機也可以用于k8s 環境下,文章開頭提到的案例就是用Consul 。

    說到這里,如果你是在用Azure,在Azure上有 Managed HashiCorp Cosul ServiceAzure,簡稱HCS, 客戶可以通過Azure Marketplace將 HCS直接配置到他們的 Azure 環境中,而 HashiCorp 則負責服務的維護和運營。使用 HCS 允許用戶在云、混合和本地場景中使用各種環境(包括虛擬機和 Kubernetes)。所以我嘗試了一下,但是我使用的賬號用不了,需要額外付費:

    AWS 上也有,具體可以看? Consul on Amazon ECS 0.3 Adds Extended Configuration。

    上面這兩個問題我們都解決了,總結一下:

    • Docker 對于 Dapr 來說并不是必需的。

    • 如果你的環境支持使用多播,則可以使用 mDNS 在多臺服務器上運行 Dapr。

    • 虛擬機環境下推薦使用Consul 作為名稱解析服務。

    針對這個問題 陳一獅同學很早就寫了一篇文章, Dapr + .NET Core實戰(十四)虛擬機集群部署 mDNS + Consul 。他還特別錄制一個系列的視頻課程放在騰訊課堂里。

    我們再回到開篇時提到的那個使用Consul 部署的案例 ,他們開發了一個 Dapr 的輕量級生命周期管理組件:https://github.com/man-group/dapr-sidekick-dotnet,Sample 目錄下有Consul的演示示例:https://github.com/man-group/dapr-sidekick-dotnet/tree/main/samples/AspNetCore,也可以看視頻:

    創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

    總結

    以上是生活随笔為你收集整理的在 k8s 以外的分布式环境中使用 Dapr的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。