在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Dapr和Rainbond集成,實現云原生BaaS和模塊化微服務開發

OSC開源社區 ? 來源:OSC開源社區 ? 2023-04-14 09:42 ? 次閱讀

背景

Dapr 是一個開源的分布式應用運行時,幫助開發者構建松耦合的分布式應用程序,具有良好的可擴展性和可維護性。Rainbond 是一款企業級的云原生應用管理平臺,提供了豐富的功能和工具,方便開發者管理和部署應用。Rainbond 和 Dapr 結合可以提供以下價值點:

「1.為Dapr擴展云原生支持:」Rainbond 提供了一套完整的云原生應用支持方案,包括應用開發、應用編排、應用交付、應用運維等應用全生命周期管理能力,而 Dapr 只是應用開發框架,包括應用開發模型、服務發現、事件驅動等功能。將 Rainbond 和 Dapr 結合起來可以提供更完整的云原生應用支持,幫助開發人員更快地構建和部署應用。

「2.讓Dapr應用可移植性增強:」Rainbond提供應用模版能力,Dapr開發的應用以模版的方式打包,可以方便交付和遷移到其他平臺運行。

「3.為Rainbond擴充服務治理能力:」Rainbond 支持通過插件擴展服務治理能力,和 Dapr結合,可以通過Dapr的方式實現服務治理。將二者結合起來,可以提供更完整的服務治理功能,幫助開發人員更好地管理和控制應用中的服務。

「4.為Rainbond增加BaaS能力:」在Rainbond上開發軟件,需要自己安裝后端數據庫和中間件,而Dapr將后端能力以API的方式對外提供,開發者只需要通過API統一訪問后端能力,實現了BaaS體驗。

總之,Dapr和Rainbond能互相補充能力不足,Rainbond 解決了應用生命周期管理的問題,開發者不需要懂底層技術,但還是需要了解后端服務, Dapr 補足了這塊能力,讓開發者更加專注業務。

Rainbond和Dapr的整合思路

9bc68666-d9e7-11ed-bfe3-dac502259ad0.png

在 Dapr 微服務框架的業務體系中,Daprd 是整個業務的核心,應用程序通過運行時 API 發送請求給 Daprd,Daprd 負責處理這些請求,并與底層服務進行交互。Daprd 是由 Dapr Services 中的 dapr-sidecar-injector 服務進行注入的,當 Pod 滿足注入條件后進行注入。同時 Dapr Services 中的 dapr-operator 會監聽整個集群下的 Dapr 配置資源(CRD),當捕獲到有 Dapr 配置類資源的創建后,會記錄在內存中,再次注入的 Daprd 如果 Pod 聲明了使用該配置,則會提供對應的能力。

「Dapr Service 的安裝」:Rainbond 將 Dapr Services 資源進行了整合,作為一個插件應用上架到了應用商店,通過安裝便可以快速讓我們的集群具備 dapr 微服務架構能力,避免了集群中執行 dapr init -k命令,同時解決了國外鏡像拉取的問題。

「DaprD注入」:傳統注入方式我們需要手動添加注入條件字段,費時費力且不易維護還容易出錯;Rainbond 支持通過切換應用的治理模式的方式,為我們的 Pod 添加不同屬性字段以滿足不同微服務架構的注入條件,從而達到批量注入,快速使用、便于管理的效果。

「Dapr配置」:Dapr 提供了四種配置 Daprd 的資源來擴展我們的服務治理能力,分別為Configuration、Component、Resiliency、Subscription,我們需要通過編寫 Yaml 的形式在集群中創建這些資源供業務組件使用,Rainbond 平臺在應用的 k8s 資源的管理入口,其效果與kubectl有些類似但比kubectl更易于管理。其中 Configuration 資源用于存儲應用程序的配置信息,例如連接字符串、密鑰、證書等,需要為 Pod 配置的 annotations屬性去聲明才可使用,Rainbond 的組件視圖提供對annotations屬性配置,簡化了我們配置的流程。

「Dapr Component安裝和對接」:Rainbond 的應用商店已經有很多后端實現,如 MySQL、Redis等,在Rainbond里可以一鍵安裝便可使用。在Dapr應用的K8s資源管理里配置Component的yaml,綁定后端服務的地址。

「Dapr應用開發:」Dapr開發的應用可以用源碼、鏡像、yaml部署到Rainbond平臺上,然后根據Dapr的API規范訪問后端服務,Rainbond提供對Dapr應用的持續集成、持續交付、環境管理、配置管理、日志和性能監控、訪問網關、應用運維等能力,輔助Dapr應用的開發和管理。

部署和使用流程

基于 Rainbond 使用 Dpar 的目標:

  • 一鍵部署 Dapr Service,讓集群具備 Dapr 微服務架構能力。
  • 自動為業務組件注入 Daprd。
  • 可視化管理 Dapr 配置。
  • 簡化 Daprd 屬性參數配置流程。
  • 多種方式交付你的 Dapr 業務。

下面我通過部署一個發布訂閱的示例,供大家快速了解并掌握 Dapr 在 Rainbond 中是如何使用的

前提條件

  1. Rainbond 版本大于 v5.13。
  2. Rainbond 已經對接過開源應用商店并擁有推送權限。

實踐步驟

9bdaf326-d9e7-11ed-bfe3-dac502259ad0.png

1. 安裝 Rainbond Service Mesh 插件

Rainbond ServiceMesh 插件負責按照指定治理模式對應用組件進行加工調整,以滿足微服務治理插件注入的基本條件。通過在平臺管理->應?市場->開源應?商店->搜索 Rainbond-ServiceMesh 并進行安裝

2. 安裝Dapr 應用插件

創建一個以 dapr-system 為英文名的團隊,安裝 Dapr Services 。通過在平臺管理->應?市場->開源應?商店->搜索 Rainbond-Dapr 并進行安裝。

3. 綁定 Component

Dapr 支持對接多種 Component 實現,如 Redis、Mysql、Oauth等,在 Rainbond 平臺中安裝也非常簡單,大部分實現都可以在 Rainbond 應用商店中找到,少數不支持的存儲也歡迎大家參與應用制作發布到應用商店中來。本次示例我們需要安裝的是 Redis 通過在平臺管理->應?市場->開源應?商店->搜索 Redis 并進行安裝。安裝完成后,在應用視圖->k8s資源->編寫 Component 資源進行綁定。

apiVersion:dapr.io/v1alpha1
kind:Component
metadata:
name:pubsub
spec:
type:pubsub.redis
version:v1
metadata:
-name:"redisHost"
value:"YOUR_REDIS_HOST_HERE"
-name:"redisPassword"
value:"YOUR_REDIS_PASSWORD_HERE"

如果是 MySQL ,步驟是平臺管理->應?市場->開源應?商店->搜索 MySQL 并進行安裝,安裝完成后在 應用視圖->k8s資源->編寫 Component 資源進行綁定。

apiVersion:dapr.io/v1alpha1
kind:Component
metadata:
name:
spec:
type:state.mysql
version:v1
metadata:
-name:connectionString
value:""
-name:schemaName
value:""
-name:tableName
value:""
-name:pemPath
value:""

4. 切換應用治理模式

將業務應用的治理模式切換至 Dapr 。通過在 應用視圖->治理模式->選擇 Dapr 治理模式進行切換。其中 dapr 治理模式會為我們組件的 annotations 屬性添加字段dapr.io/enabled: "true"以及dapr.io/app-id="xxx" 其中 xxx 為組件的英文名,由于dapr.io/app-id是Dapr 體系中的唯一標識,Rainbond 支持自行配置,如果檢測到有該屬性字段,則優先使用原配置。滿足注入條件后,dapr-sidecar-injector 服務開始工作,為我們的業務組件注入 Daprd。

5. 部署業務

Rainbond 提供了多種方式部署你的業務,鏡像、Helm、Yaml、源碼等等。這里我選擇使用鏡像部署,具體步驟為: 應用視圖->添加組件->指定鏡像->填寫鏡像地址。

demo鏡像地址:
registry.cn-hangzhou.aliyuncs.com/zhangqihang/pubsub-node-subscriber:latest
registry.cn-hangzhou.aliyuncs.com/zhangqihang/pubsub-react-form:latest
registry.cn-hangzhou.aliyuncs.com/zhangqihang/pubsub-go-subscriber:latest

由于 Dapr 中消息隊列需要為組件 annotations 屬性設置 dapr.io/app-port 字段,切換治理模式的時候并沒有自動生成,所以我們需要在組件視圖->其他設置->Kubernetes屬性->新增屬性->選擇 annotations->添加 dapr.io/app-port=組件端口字段。同理其他擴展的 annotations 屬性字段均在此處配置。

6. 部署最終效果

pubsub-react-form 組件的組件視圖->端口->打開對外服務便可實現訪問消息發布組件,向訂閱 A、B、C中發布消息,通過觀察pubsub-node-subscriberpubsub-go-subscriber組件的日志可看到訂閱的內容,日志位置:組件視圖->日志。

7. 通過Dapr控制臺管理

訪問 dapr dashboard 可以查看到我們的微服務組件在 Dapr 中的注冊信息。

9be97c20-d9e7-11ed-bfe3-dac502259ad0.png

8.發布應用模版

Rainbond提供應用一鍵發布應用模版的能力,在Dapr開發應用的應用視圖,點擊發布來發布應用模版,并通過應用模版在線和離線快速安裝到其他環境。不過在其他環境使用時需要先安裝Rainbond和Dapr基礎環境。

在Rainbond上擴展Dapr

鏈路追蹤

鏈路追蹤是一種網絡監控和故障排除技術,用于追蹤數據包在網絡中的路徑和經過的節點,以便優化網絡性能和發現問題,在 Dapr 中是通過配置Configuration資源綁定追蹤器實現進行工作的。下面是以 Zipkin 追蹤器實現的Configuration資源配置示例。更多詳見 Dapr Observability[1]。

應用視圖->k8s資源->編寫 Configuration 資源

apiVersion:dapr.io/v1alpha1
kind:Configuration
metadata:
name:daprConfig
namespace:default
spec:
tracing:
samplingRate:"1"
zipkin:
endpointAddress:"http://localhost:9411/api/v2/spans"

熔斷限流

限制每秒允許的最大 HTTP 請求數,速率限制可以保護您的應用程序免受拒絕服務 (DOS) 攻擊。我們需要配置component資源作為中間件,然后通過Configuration 資源進行綁定,然后在業務組件中配置掛載使用。

應用視圖->k8s資源->編寫 Component 資源作為中間件,設置每秒的最大請求數為 10。

apiVersion:dapr.io/v1alpha1
kind:Component
metadata:
name:ratelimit
spec:
type:middleware.http.ratelimit
version:v1
metadata:
-name:maxRequestsPerSecond
value:10

應用視圖->k8s資源->編寫 Configuration 配置資源綁定中間件。

apiVersion:dapr.io/v1alpha1
kind:Configuration
metadata:
name:appconfig
spec:
httpPipeline:
handlers:
-name:ratelimit
type:middleware.http.ratelimit

組件視圖->其他設置->Kubernetes屬性->新增屬性->選擇annotations->添加 dapr.io/config 屬性字段綁定 Configuration 。


審核編輯 :李倩


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 模塊化
    +關注

    關注

    0

    文章

    331

    瀏覽量

    21348
  • 微服務
    +關注

    關注

    0

    文章

    137

    瀏覽量

    7351
  • 云原生
    +關注

    關注

    0

    文章

    249

    瀏覽量

    7950

原文標題:Dapr和Rainbond集成,實現云原生BaaS和模塊化微服務開發

文章出處:【微信號:OSC開源社區,微信公眾號:OSC開源社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    如何選擇云原生機器學習平臺

    當今,云原生機器學習平臺因其彈性擴展、高效部署、低成本運營等優勢,逐漸成為企業構建和部署機器學習應用的首選。然而,市場上的云原生機器學習平臺種類繁多,功能各異,如何選擇云原生機器學習平臺呢?下面,AI部落小編帶您探討。
    的頭像 發表于 12-25 11:54 ?95次閱讀

    什么是云原生MLOps平臺

    云原生MLOps平臺,是指利用云計算的基礎設施和開發工具,來構建、部署和管理機器學習模型的全生命周期的平臺。以下,是對云原生MLOps平臺的介紹,由AI部落小編整理。
    的頭像 發表于 12-12 13:13 ?103次閱讀

    云原生和數據庫哪個好一些?

    云原生和數據庫哪個好一些?云原生和數據庫各有其獨特的優勢,適用于不同的場景。云原生強調高效資源利用、快速開發部署和高可伸縮性,適合需要高度靈活性和快速迭代的應用。而數據庫則注重數據一致
    的頭像 發表于 11-29 10:07 ?140次閱讀

    模塊化儀器的技術原理和應用場景

    輸入/輸出通道,或者根據特定應用定制其測量能力。 計算機集成模塊化儀器與計算機高度集成,通過共享元器件、高速總線和用戶定義的開放式軟件,實現自動
    發表于 11-28 15:09

    k8s微服務架構就是云原生嗎?兩者是什么關系

    k8s微服務架構就是云原生嗎?K8s微服務架構并不等同于云原生,但兩者之間存在密切的聯系。Kubernetes在云原生架構中扮演著核心組件的
    的頭像 發表于 11-25 09:39 ?146次閱讀

    模塊化插座接線方法有哪些

    模塊化插座,也稱為模塊化電源插座或模塊化PDU(Power Distribution Unit),是一種可以根據需要靈活配置電源插座和接口的設備。這種設計允許用戶根據具體的用電需求,選擇不同的
    的頭像 發表于 10-18 09:50 ?557次閱讀

    入門級攻略:如何容器部署微服務?

    第一步理解容器基礎,第二步創建Dockerfile,第三步構建推送鏡像,第四步部署微服務,第五步管理微服務、第六步優化更新。容器部署微服務
    的頭像 發表于 10-09 10:08 ?156次閱讀

    云原生和非云原生哪個好?六大區別詳細對比

    云原生和非云原生各有優劣,具體選擇取決于應用場景。云原生利用云計算的優勢,通過微服務、容器和自動
    的頭像 發表于 09-13 09:53 ?393次閱讀

    京東云原生安全產品重磅發布

    “安全產品那么多,我怎么知道防住了?”“大家都說自己是云原生的,我看都是換湯不換藥”在與客戶溝通云原生安全方案的時候,經常會遇到這樣的吐槽。越來越的客戶已經開始了云原生化的技術架構改造,也意識到
    的頭像 發表于 07-26 10:36 ?479次閱讀
    京東<b class='flag-5'>云原生</b>安全產品重磅發布

    從積木式到裝配式云原生安全

    云原生安全風險 隨著云原生架構的快速發展,核心能力逐漸穩定,安全問題日趨緊急。在云原生安全領域不但有新技術帶來的新風險,傳統IT基礎設施下的安全威脅也依然存在。要想做好云原生安全,就要
    的頭像 發表于 07-26 10:35 ?306次閱讀
    從積木式到裝配式<b class='flag-5'>云原生</b>安全

    基于DPU與SmartNic的云原生SDN解決方案

    個輕量級,可移植的運行環境,逐漸成為云原生時代基礎設施的事實標準。Kubernetes通過網絡插件(CNI,Container Network Interface)實現靈活地配置和管理集群中的容器網絡,確保容器之間的有效通信和網絡安全。
    的頭像 發表于 07-22 11:44 ?699次閱讀
    基于DPU與SmartNic的<b class='flag-5'>云原生</b>SDN解決方案

    首批認證!拓維信息梧桐云原生平臺獲鯤鵬原生開發技術認證

    7月10日,拓維信息梧桐云原生平臺V3.0獲得華為鯤鵬原生開發技術首批認證。作為華為鯤鵬戰略合作伙伴,拓維信息以28年行業數字經驗和持續技術創新能力,攜手華為共同繁榮鯤鵬
    的頭像 發表于 07-19 08:15 ?449次閱讀
    首批認證!拓維信息梧桐<b class='flag-5'>云原生</b>平臺獲鯤鵬<b class='flag-5'>原生</b><b class='flag-5'>開發</b>技術認證

    云原生驅動信貸服務數字 中軟國際信貸數據服務平臺獲業界認可

    隨著云原生技術在金融業的應用不斷深化,金融服務的優化和創新日益加快。
    的頭像 發表于 04-02 09:58 ?405次閱讀
    <b class='flag-5'>云原生</b>驅動信貸<b class='flag-5'>服務</b>數字<b class='flag-5'>化</b> 中軟國際信貸數據<b class='flag-5'>服務</b>平臺獲業界認可

    云原生是大模型“降本增效”的解藥嗎?

    云原生AI正當時
    的頭像 發表于 02-20 09:31 ?392次閱讀

    米哈游大數據云原生實踐

    近年來,容器、微服務、Kubernetes 等各項云原生技術的日漸成熟,越來越多的公司開始選擇擁抱云原生,并開始將 AI、大數據等類型的企業應用部署運行在云原生之上。以 Spark 為
    的頭像 發表于 01-09 10:41 ?586次閱讀
    米哈游大數據<b class='flag-5'>云原生</b>實踐
    主站蜘蛛池模板: 丁香六月婷婷激情| 天天成人| 国产精品青草久久久久福利99| 在线看av网址| 四虎亚洲精品| 操美女视频网站| аⅴ天堂中文在线网| 亚洲色图综合| 国产小毛片| 国产女在线| 亚在线| 国产主播在线播放| 黄色网址免费在线| 在线免费视频你懂的| 狠狠色网站| 5g影院欧美成人免费| 五月激情综合婷婷| 在线最新版www资源网| 久久成人免费网站| 欧美午夜网| 一区二区三区四区欧美| 国产视频一区二区在线观看| 国产紧缚jvid| 天堂网在线免费| 一级毛片女人喷潮| 色视频免费版高清在线观看| 亚洲va久久久噜噜噜久久男同| 国产色婷婷精品综合在线手机播放| 九色视频网| 婷婷中文字幕| 天天做天天爱天天爽综合网 | 国产xxxxxx久色视频在| www.天天干.com| 色www视频永久免费| 天天狠天天透| 69日本xxxxxxxxx78| 日本黄色三级视频| 久操操| 涩五月婷婷| 人人艹在线视频| 婷婷丁香久久|