天天看點

多運作時架構介紹,提升系統開發效率

作者:GitHub項目精選

大家好。

現在大家在公司開發的都是分布式的應用,這也就意味着在開發上除了要關注業務邏輯,也要關注分布式服務特有的問題,比如服務發現、容錯、鑒權等。而以上這些問題,一般取決于每個公司的成熟度有很大的不同,也很難依賴開源的一些建設。

多運作時架構介紹,提升系統開發效率

但是,今天要推薦一個嘗試讓上述問題更容易解決的方向,多運作時架構,将業務與技術進行分離管理。

目前首先實作多運作時架構的開源項目是 Dapr,Dapr 是一個開源的分布式應用運作時。它的目标是使分布式微服務開發變得更容易,更一緻,更簡單。Dapr 提供了一組分布式解決方案,幫助開發人員将其建構塊與架構無關地拆分為小型,可重用的和管理的服務。

Dapr 具有許多優點。它可以幫助開發人員更快地建構和部署分布式應用程式。它的微服務建構塊可以輕松內建到現有的工作流中,而無需更改現有代碼。此外,Dapr 還提供了一組工具和 API,可以使開發人員能夠更輕松地管理和監控分布式應用程式。

Dapr 是為雲原生應用程式開發人員而設計的,但它可以用于任何類型的應用程式開發。它支援多種語言,包括 Java、Python、C# 和 Go,并且可以與任何架構,包括 Kubernetes、Docker 和其他雲提供程式一起使用。

總而言之,Dapr 是一個強大的工具,可以幫助開發人員更輕松地建構分布式應用程式。它可以節省時間,提高生産力,并幫助您更輕松地管理和監控分布式應用。

除了上述特點之外,Dapr 還提供了一組标準化的服務協定,可以讓不同的微服務之間進行通信。這樣,開發人員就可以更輕松地将多個服務連接配接在一起,實作更複雜的應用程式功能。

此外,Dapr 還提供了一組可重用的元件,可以實作常見的分布式應用程式模式,包括消息傳遞、狀态管理和計算等。這些元件可以輕松內建到現有的應用程式中,減少開發人員的工作量。

說了這麼多,可能舉一個簡單的例子會更容易讓大家了解。以下是分别使用 Node 和 Python 開發的隻有業務邏輯的代碼,通過與 Dapr 運作時結合,服務之間的調用關系如下:

多運作時架構介紹,提升系統開發效率

對應的 Node 和 Python 代碼如下,代碼可以看出來是沒有任何其他的非業務相關的能力的。

多運作時架構介紹,提升系統開發效率
多運作時架構介紹,提升系統開發效率

而其中的 Dapr Runtime 可以根據需要按需去加載一些分布式的管理能力,且不需要對業務邏輯代碼進行變更。比如我要給 Node 應用增加限流邏輯,隻需要在 Dapr 做如下配置即可,就能使得 Node 服務每秒隻能接受一個請求。

多運作時架構介紹,提升系統開發效率

總之,Dapr 是一個值得關注的工具,可以幫助開發人員更輕松地建構分布式應用程式。它的标準化協定和可重用元件可以節省時間,提高開發效率,并且可以與多種架構和語言一起使用。

更多項目詳情請檢視如下連結。

開源項目位址:https://github.com/dapr/dapr

開源項目作者:dapr

關注我們,一起探索有意思的開源項目。

繼續閱讀