自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Steeltoe:簡化.NET云微服務的構建

譯文
開發(fā) 前端
開源.NET工具有助于構建分布式應用程序,并將其部署到Spring Cloud和Kubernetes。

【51CTO.com快譯】.NET Foundation不僅僅包括.NET,還是眾多語言和框架的開源中心,可幫助您在各種.NET運行時環(huán)境和編譯器的基礎上構建代碼,全球的公司和個人為之貢獻代碼。

一種較流行的工具來自Pivotal(現(xiàn)在再次隸屬VMware)。Steeltoe旨在幫助開發(fā)人員構建更好的.NET微服務,充當.NET與Pivotal的Spring Cloud和Cloud Foundry平臺以及Kubernetes和其他容器之間的橋梁,擁有一組可加快應用程序開發(fā)的庫。它現(xiàn)已開放,接受.NET社區(qū)(包括微軟團隊)貢獻的代碼,立足于Netflix的開源庫方面完成的工作。你可以在GitHub上找到存儲庫(https://github.com/SteeltoeOSS/steeltoe)。

微服務和Steeltoe

Steeltoe基于熟悉的工作方式,還可以用作從Java和其他企業(yè)語言進入到.NET開發(fā)的跳板。你可以將在Spring Cloud上用Java編寫的代碼移植到.NET,或使用Steeltoe連接件來混合不同技術,以便可以通過.NET微服務改進現(xiàn)有的應用程序。項目經(jīng)理會發(fā)現(xiàn)這種方法很有幫助,因為他們可以根據(jù)需要混合搭配可用資源,不必擔心兼容性問題。

Steeltoe可以使用初始化工具創(chuàng)建云微服務,添加提供不同云服務的提供商,并自動配置用于部署的代碼。配置可以輕松地存儲在代碼之外,那樣您可以將令牌及其他重要的驗證詳細信息保留在Hashicorp的Vault之類的安全服務中,無需暴露在代碼存儲庫中。

最大優(yōu)點是其庫,庫預包裝在您的代碼中準備使用的云設計模式。這包括借助Eureka和Consul客戶端以及有助于調(diào)試代碼的分布式跟蹤支持服務發(fā)現(xiàn)。其他關鍵元素通過處理網(wǎng)絡文件共享來支持消息傳遞,并提供與要使用的云服務對接的連接件。云原生微服務需要無狀態(tài)、易于組合且定義明確,而Steeltoe的庫有助于構建支持云原生設計模式的代碼,無需更改編寫.NET Core應用程序的方式。

最新版本是Steeltoe 3.0。這將支持從.NET Framework轉(zhuǎn)移到.NET Core,為.NET 5和將來基于.NET Core的版本做好了準備。它增加了支持其他分布式應用程序平臺(比如Kubernetes)和基于消息傳遞的架構的功能。這意味著要更改程序包命名,因此升級到新版本時,代碼需要一番重構。

使用斷路器模式

Steeltoe的一項實用功能是使用基于Netflix Hystrix的工具支持斷路器(Circuit Breaker)模式。最初的Hystrix處于維護模式,但它使用的模式仍適用于使微服務具有容錯能力,并通過提供一種快速鎖定故障并防止連鎖反應的方法為應用程序增添彈性。

在遠程或第三方服務可見性有限的分布式架構中,斷路器是一種重要工具。這使得它們適用于這些地方:服務由不同的Devop團隊構建和管理,以及您使用的服務被太多應用程序使用而變得不可靠。斷路器監(jiān)測代碼中對服務的所有調(diào)用。如果太多調(diào)用失敗,它會退回到替代方法并發(fā)出警報。這會觸發(fā)重新啟動,或者就等到遠程服務再次可用。

有了Steeltoe,就很容易為任何服務調(diào)用添加斷路器包裝件。這在其自己的線程池中運行,有助于管理目標服務上的負載。如果線程因代碼調(diào)用過多而不可用,或者斷路器在遠程服務沒有響應時等待,可以調(diào)用后備方法。同樣,呼叫可能超時,所有操作會被記錄并顯示在各自的儀表板上,以便您查看服務的運行情況。這些日志是有用的診斷工具,您可以使用ELK堆?;駻zure的Monitor之類的工具將它們納入Devops流程中。

使用Project Tye部署到Kubernetes

如果您想使.NET成為更廣泛的云原生環(huán)境的一部分,Steeltoe與微軟的Project Tye很搭,可將.NET微服務引入到Kubernetes(尤其是Azure Kubernetes Service)。在這里您可以使用Steeltoe庫構建服務,然后使用Project Tye將它們添加到容器中。這可以自動執(zhí)行這個過程:創(chuàng)建.NET容器和Kubernetes清單文件,以及查找其他服務和處理容器依賴項。這是一個實用的工具,可使用.NET命令行工具來安裝。一旦安裝完成,很容易從應用程序腳手架轉(zhuǎn)到運行中代碼,儀表板監(jiān)測運行中的服務并查看日志??蓪⒍鄠€服務添加到單個.NET解決方案,然后可以使用單個tye調(diào)用來運行。

更復雜的配置可使用Project Tye自己的YAML清單文件來加以管理。tye.yaml文件將幫助管理依賴項、與Docker文件和容器注冊表一起引入服務并根據(jù)需要進行部署。一些場景需要預配置和部署外部服務,比如數(shù)據(jù)庫或緩存。

使用Steeltoe構建服務以及使用Project Tye進行捆綁是開始使用云原生.NET開發(fā)的快速方法。雖然Project Tye仍然是試驗項目,但.NET 5發(fā)布后微軟會不會繼續(xù)致力于它值得拭目以待,因為計劃與Dapr等工具的集成會使其成為任何.NET開發(fā)環(huán)境的一組實用擴展。在我看來,將其集成到.NET命令行環(huán)境中非常有意義,其對.NET的意義如同Draft等工具對更廣泛的Kubernetes生態(tài)系統(tǒng)的意義。

.NET中與云無關的分布式應用程序方法

構建和運行分布式應用程序應該不難;它們是在多個云中和跨多個云工作的關鍵。通過支持Spring Cloud和Kubernetes,Steeltoe提供了一種中立的多云開發(fā)方法。您可以使用熟悉的工具和技術以及Steeltoe來構建.NET代碼,然后使用配置工具支持將代碼分發(fā)到目標平臺的工作。

結果是可以將代碼從一個云快速切換到另一個云,以及從數(shù)據(jù)中心快速切換到托管平臺?;?NET Core的現(xiàn)代代碼是為微服務設計的,Steeltoe可幫助提供原本您需要自行編寫的許多功能。探究.NET基金會托管的各個項目非常值得,您可能會找到幫您更快速地編寫更好代碼的項目。

原文標題:Steeltoe: Simplify building .NET cloud microservices,作者:Simon Bisson

【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】

 

責任編輯:華軒 來源: 51CTO
相關推薦

2019-08-29 08:00:00

微服務架構服務網(wǎng)格

2021-12-29 08:30:48

微服務架構開發(fā)

2019-08-05 09:05:06

技術Docker軟件

2021-02-07 09:05:56

微服務結構云原生

2022-09-06 10:46:34

服務網(wǎng)格可觀測性微服務

2018-12-03 08:00:00

微服務gRPC

2009-07-10 09:41:08

WCF服務配置.NET 4.0

2018-03-26 04:53:46

Serverless微服務架構

2017-11-22 13:01:03

Go技術棧構建

2024-04-28 10:22:08

.NETMVVM應用工具包

2016-09-14 14:24:18

云服務數(shù)據(jù)

2017-12-20 15:37:39

Spring Clou微服務架構

2023-10-12 09:48:00

微服務工具

2014-05-06 14:14:49

IBM云服務云市場

2010-05-24 18:05:43

惠普云計算IT管理

2010-05-25 15:07:37

惠普云計算簡化

2023-08-16 14:39:20

微服務Java

2022-09-05 08:00:00

Java微服務AuraDB

2020-02-17 16:28:49

開發(fā)技能代碼

2019-05-22 10:57:15

工具微服務架構
點贊
收藏

51CTO技術棧公眾號