女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

通過(guò)微服務(wù)原理、領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)概念等來(lái)成功實(shí)現(xiàn)微服務(wù)

如意 ? 來(lái)源:360機(jī)房 ? 作者:Harris ? 2020-08-14 10:02 ? 次閱讀

組織通過(guò)微服務(wù)基本準(zhǔn)則、領(lǐng)域驅(qū)動(dòng)的設(shè)計(jì)概念和編碼優(yōu)秀實(shí)踐成功地使用微服務(wù),可以充分利用Kubernetes/容器原生的優(yōu)勢(shì)。

行業(yè)專家參加了DevOps Institue日前在企業(yè)Kubernetes上進(jìn)行的SkiLUp演講。在一個(gè)名為“通過(guò)持續(xù)交付導(dǎo)航Kubernetes之旅”的會(huì)議中,行業(yè)討論了企業(yè)Kubernetes的狀態(tài)以及持續(xù)交付對(duì)于那些使用容器技術(shù)的組織的影響。其演講的中心主題是Kubernetes如何為交付團(tuán)隊(duì)引入新的范例。

對(duì)于使用微服務(wù)的組織來(lái)說(shuō),其成功應(yīng)用可能是多種多樣的,從云計(jì)算中獲益可能是一個(gè)代價(jià)高昂的過(guò)程。以下將分享如何通過(guò)微服務(wù)原理、領(lǐng)域驅(qū)動(dòng)的設(shè)計(jì)概念以及有關(guān)編碼優(yōu)秀實(shí)踐的注意事項(xiàng)來(lái)成功實(shí)現(xiàn)微服務(wù)。云原生應(yīng)用程序、Kubernetes實(shí)例和微服務(wù)都代表了一個(gè)由層組成的系統(tǒng)。了解這些層使人們能夠獲得釋放云計(jì)算和容器原生優(yōu)勢(shì)所需的見解。

系統(tǒng)設(shè)計(jì)的本質(zhì)

系統(tǒng)設(shè)計(jì)是一個(gè)權(quán)衡的游戲。當(dāng)脫離組織環(huán)境時(shí),許多架構(gòu)決策在本質(zhì)上并不是對(duì)與錯(cuò)。組織做出決策的優(yōu)秀建議是盡可能擴(kuò)大決策范圍和框架,以在初始時(shí)理解決策。其基本準(zhǔn)則始終是將這些決策與組織的目標(biāo)聯(lián)系起來(lái)。在組織環(huán)境中,基本準(zhǔn)則、實(shí)踐和模式需要與組織的目標(biāo)保持一致。基本準(zhǔn)則為實(shí)現(xiàn)目標(biāo)確定方向,而實(shí)踐和模式代表團(tuán)隊(duì)為實(shí)現(xiàn)這些目標(biāo)而采取的實(shí)際步驟。

例如,很多組織的目標(biāo)可能是成為面向全球市場(chǎng)的事實(shí)上的軟件解決方案。其基本原則之一就是實(shí)行持續(xù)交付,以確保高質(zhì)量的生產(chǎn)部署并很大程度地減少可能造成高昂成本的事故。實(shí)踐是針對(duì)團(tuán)隊(duì)的,并且是特定的。為了支持組織的工程業(yè)務(wù)部門遵循的原則,可以讓SRE團(tuán)隊(duì)針對(duì)事件管理進(jìn)行實(shí)踐,其中包括使用持續(xù)交付平臺(tái)來(lái)跟蹤或?qū)徲?jì)失敗的部署。可以讓開發(fā)人員使用持續(xù)交付解決方案進(jìn)行頻繁的發(fā)布或自助部署。組織的開發(fā)團(tuán)隊(duì)的另一個(gè)實(shí)踐是測(cè)試所有代碼。

雖然不可能知道每一個(gè)決策在未來(lái)會(huì)對(duì)整個(gè)系統(tǒng)產(chǎn)生怎樣的影響,但組織能做的最好的事情就是確定目標(biāo),以及基本原則和實(shí)踐如何幫助其實(shí)現(xiàn)這些目標(biāo)。

微服務(wù)

微服務(wù)是一種小型的、自主的、協(xié)同工作的服務(wù)。松散耦合和高內(nèi)聚性是指微服務(wù)的兩個(gè)概念。內(nèi)聚性是將相關(guān)代碼分組在一起的方式,而耦合性是指不同的服務(wù)如何相互依賴。軟件工程大師RobertC.Martin對(duì)“單一責(zé)任原則”的定義是微服務(wù)的核心,它的定義是“將因相同原因而發(fā)生變化的那些事物聚集在一起,并將因不同原因而發(fā)生變化的那些事物分開。”

這兩個(gè)概念推動(dòng)了微服務(wù)的七個(gè)原則,允許團(tuán)隊(duì)獨(dú)立地工作、部署、失敗、交付和擴(kuò)展。

面向服務(wù)的架構(gòu)(SOA)旨在應(yīng)對(duì)大型單片應(yīng)用程序、代碼的可重用性和維護(hù)方面的挑戰(zhàn)。微服務(wù)是通過(guò)獨(dú)立服務(wù)實(shí)現(xiàn)面向服務(wù)的架構(gòu)(SOA)的一種方法,其中每個(gè)服務(wù)都充當(dāng)組織業(yè)務(wù)領(lǐng)域的邊界。在微服務(wù)架構(gòu)中,每個(gè)更改都可以彼此獨(dú)立地實(shí)現(xiàn)和部署,而無(wú)需用戶更改。

微服務(wù)的原則

使用微服務(wù)時(shí),常見的故障點(diǎn)是過(guò)早分解。在通常情況下,團(tuán)隊(duì)在與應(yīng)用程序的用例相關(guān)的更改中會(huì)付出高昂的成本,或者初始服務(wù)邊界是錯(cuò)誤的。將應(yīng)用程序分解為微服務(wù)通常是開始微服務(wù)之旅的最簡(jiǎn)單方法。

域驅(qū)動(dòng)設(shè)計(jì)的原則

域驅(qū)動(dòng)設(shè)計(jì)(DDD)是如何通過(guò)代碼對(duì)現(xiàn)實(shí)世界進(jìn)行建模。因此,域驅(qū)動(dòng)設(shè)計(jì)(DDD)介于出色的代碼和微服務(wù)成功之間。盡管有許多文獻(xiàn)討論了如何從戰(zhàn)略和戰(zhàn)術(shù)上實(shí)施域驅(qū)動(dòng)設(shè)計(jì)(DDD),但在沒有實(shí)踐和指導(dǎo)的情況下,這仍然是一個(gè)相當(dāng)復(fù)雜的話題。以下是利用域驅(qū)動(dòng)設(shè)計(jì)(DDD)概念的入門方法。

首先必須理解,組織使用的任何代碼都始于存在于域中的問題以及存在業(yè)務(wù)愿望的問題。因此,領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)的旅程始于領(lǐng)域?qū)<液烷_發(fā)人員。通常,組織可能有多位領(lǐng)域?qū)<乙幻_發(fā)人員或各種開發(fā)人員,但只有一名領(lǐng)域?qū)<摇o(wú)論組織結(jié)構(gòu)如何,團(tuán)隊(duì)的目標(biāo)都是著眼于全局并創(chuàng)建所謂的場(chǎng)景地圖。

構(gòu)建場(chǎng)景映射時(shí),組織可以通過(guò)了解問題空間、發(fā)現(xiàn)通用語(yǔ)言并為系統(tǒng)創(chuàng)建表示模型來(lái)提取領(lǐng)域知識(shí)。系統(tǒng)由代表問題空間的域和子域組成。這些域在場(chǎng)景映射中稱為場(chǎng)景,并且可以描述組織內(nèi)的不同系統(tǒng)。例如,組織可能需要表示一個(gè)銷售場(chǎng)景和客戶支持場(chǎng)景,以對(duì)處理食品包裝廠的銷售和客戶支持的新軟件應(yīng)用程序進(jìn)行建模。

示例場(chǎng)景映射

這些域?yàn)榻M織提供了有關(guān)如何創(chuàng)建有限場(chǎng)景的好主意。有界場(chǎng)景表示屬于系統(tǒng)的服務(wù),它封裝并定義了該模型的特定職責(zé)。創(chuàng)建有界場(chǎng)景就是要建立一個(gè)邊界,在這個(gè)邊界中,域語(yǔ)言在這個(gè)空間中不會(huì)造成混淆的問題。

定義有限的場(chǎng)景、通用語(yǔ)言和場(chǎng)景映射可以使組織在使用微服務(wù)時(shí)專注于全局。域驅(qū)動(dòng)設(shè)計(jì)指導(dǎo)開發(fā)人員討論系統(tǒng)設(shè)計(jì)時(shí),因?yàn)榻M織經(jīng)常在尋找通過(guò)代碼表示真實(shí)世界的方法。域驅(qū)動(dòng)設(shè)計(jì)(DDD)對(duì)于不熟悉特定領(lǐng)域的組織或開發(fā)人員,或者對(duì)于希望將其應(yīng)用程序分解為微服務(wù)的組織而言,域驅(qū)動(dòng)設(shè)計(jì)(DDD)尤其有用。

清潔代碼

微服務(wù)成功的最后一件事是如何維護(hù)和使用組織的代碼。有許多建議可以鼓勵(lì)持久和可理解的企業(yè)代碼庫(kù)。它們中的一些引入了額外的權(quán)衡,但通常的經(jīng)驗(yàn)法則是避免對(duì)不斷增長(zhǎng)的代碼庫(kù)感到自滿,并尋找對(duì)組織有用的做法。

提供共享庫(kù)。跨領(lǐng)域、行業(yè)、團(tuán)隊(duì)和各種代碼庫(kù)重復(fù)的方法是共享庫(kù)的理想選擇。第三方庫(kù)或自定義庫(kù)是使代碼庫(kù)得到良好管理和測(cè)試的一種很好方法,尤其是當(dāng)組織繼續(xù)在域內(nèi)開發(fā)更多功能和服務(wù)時(shí)。建議不要為頻繁更改的代碼引入自定義庫(kù)。定制庫(kù)添加了應(yīng)用程序依賴項(xiàng),其中對(duì)庫(kù)的更新迫使使用者重新部署。受信任或成熟的第三方庫(kù)通常是避免與自定義庫(kù)相關(guān)的某些維護(hù)和不穩(wěn)定的很好資源。

強(qiáng)制執(zhí)行模塊化分離。正如人們經(jīng)常聽到關(guān)于模塊化隔離的建議一樣,由于變更的性質(zhì),它在實(shí)踐中經(jīng)常失敗。作為新功能,開發(fā)人員和流程已引入代碼庫(kù),人們構(gòu)造提供這些功能的模塊和文件的方式也發(fā)生了變化。保持每個(gè)適當(dāng)大小的模塊和文件也很重要。作為準(zhǔn)則,以團(tuán)隊(duì)為單位設(shè)置一些實(shí)踐,以指導(dǎo)組織如何在代碼庫(kù)中組織業(yè)務(wù)邏輯。一些團(tuán)隊(duì)具有三個(gè)組織層,包括表示層、邏輯層和數(shù)據(jù)層。該策略確保業(yè)務(wù)邏輯不會(huì)在應(yīng)用程序邏輯內(nèi)丟失。強(qiáng)制執(zhí)行代碼的模塊化分離也可以幫助團(tuán)隊(duì)成功實(shí)現(xiàn)域驅(qū)動(dòng)設(shè)計(jì)(DDD)。

保持較小的代碼庫(kù)。以前的建議都會(huì)導(dǎo)致維護(hù)較小的代碼庫(kù)。但是,圍繞使代碼庫(kù)保持精簡(jiǎn)和小型化經(jīng)常會(huì)出現(xiàn)一個(gè)常見的問題,即小型化小到什么程度?在許多方面,小型代碼庫(kù)成為一種反模式,因?yàn)閳F(tuán)隊(duì)無(wú)法理解他們的服務(wù)在整個(gè)系統(tǒng)的場(chǎng)景中提供了業(yè)務(wù)責(zé)任。同樣,對(duì)于大型代碼庫(kù)來(lái)說(shuō),團(tuán)隊(duì)將難以分散決策,了解其代碼庫(kù),并應(yīng)對(duì)其他形式的更改。這兩個(gè)挑戰(zhàn)的關(guān)鍵指標(biāo)是問題的增加。

維護(hù)干凈的代碼庫(kù)是域驅(qū)動(dòng)設(shè)計(jì)(DDD)、微服務(wù)以及編寫Kubernetes或云原生應(yīng)用程序所不可或缺的。正如Kubernetes、微服務(wù)和域驅(qū)動(dòng)設(shè)計(jì)(DDD)影響組織設(shè)計(jì)代碼的方式一樣。希望這些解釋能夠說(shuō)明其應(yīng)用程序是如何由相互重疊和互補(bǔ)的層組成的,從而形成一個(gè)有效且成功的系統(tǒng)。

結(jié)語(yǔ)

許多投資Kubernetes計(jì)劃的組織都希望通過(guò)微服務(wù)獲得成功。本文展示了如何通過(guò)微服務(wù)獲得成功。擁有如此多的工具、流程和原則來(lái)管理流程可能會(huì)很困難,尤其是當(dāng)最終客戶無(wú)法獲得頻繁的軟件交付時(shí)。持續(xù)交付可幫助組織交付價(jià)值、管理微服務(wù)部署、定義發(fā)布和回滾策略,并降低微服務(wù)的總體成本。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 云計(jì)算
    +關(guān)注

    關(guān)注

    39

    文章

    7969

    瀏覽量

    139338
  • SOA
    SOA
    +關(guān)注

    關(guān)注

    1

    文章

    300

    瀏覽量

    28020
  • 微服務(wù)
    +關(guān)注

    關(guān)注

    0

    文章

    145

    瀏覽量

    7671
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    微服務(wù)器架構(gòu)幾種典型的基礎(chǔ)框架,你了解嗎?

    SpringCloud、Dubbo、Dropwizard、Akka是常見微服務(wù)框架。SpringCloud基于SpringBoot,生態(tài)豐富;Dropwizard輕量且繼承SpringBoot優(yōu)點(diǎn)
    的頭像 發(fā)表于 03-04 11:05 ?322次閱讀

    NVIDIA 發(fā)布保障代理式 AI 應(yīng)用安全的 NIM 微服務(wù)

    的“知識(shí)機(jī)器人”,提升全球數(shù)十億知識(shí)工作者的生產(chǎn)力。為了開發(fā) AI 智能體,企業(yè)需要解決信任、物理安全、網(wǎng)絡(luò)安全以及合規(guī)性關(guān)鍵問題。 全新 NVIDIA NIM AI Guardrail 微服務(wù)
    發(fā)表于 01-17 16:29 ?140次閱讀

    微服務(wù)容器化部署好處多嗎?

    微服務(wù)容器化部署好處有很多,包括環(huán)境一致性、資源高效利用、快速部署與啟動(dòng)、隔離性與安全性、版本控制與回滾以及持續(xù)集成與持續(xù)部署。這些優(yōu)勢(shì)助力應(yīng)用可靠穩(wěn)定運(yùn)行,提升開發(fā)運(yùn)維效率,是現(xiàn)代軟件架構(gòu)的優(yōu)質(zhì)選擇。UU云小編認(rèn)為微服務(wù)容器化部署好處主要體現(xiàn)在以下幾個(gè)方面:
    的頭像 發(fā)表于 01-17 10:22 ?278次閱讀

    容器化能替代微服務(wù)嗎??jī)烧哂泻螀^(qū)別

    和可維護(hù)性。而容器化技術(shù)則是一種輕量級(jí)的虛擬化技術(shù),它將應(yīng)用程序及其依賴項(xiàng)打包到一個(gè)獨(dú)立的容器中,使其能夠在不同的環(huán)境中一致地運(yùn)行。雖然容器化技術(shù)為微服務(wù)提供了一個(gè)理想的運(yùn)行環(huán)境,但微服務(wù)架構(gòu)本身所強(qiáng)調(diào)的服務(wù)拆分、獨(dú)立部署和擴(kuò)展
    的頭像 發(fā)表于 01-13 10:40 ?348次閱讀

    Java微服務(wù)中如何確保安全性?

    訪問資源,而OpenID Connect提供了基于OAuth2的身份驗(yàn)證協(xié)議。 利用Spring Security OAuth2進(jìn)行配置,實(shí)現(xiàn)統(tǒng)一的身份驗(yàn)證和授權(quán)。 服務(wù)間安全通信: 通過(guò)配置TLS
    的頭像 發(fā)表于 01-02 15:21 ?542次閱讀

    寶藏級(jí)微服務(wù)架構(gòu)工具合集

    寶藏級(jí)熱門微服務(wù)架構(gòu)工具包含Spring Boot、Eclipse Vert.X、Kubernetes、Tyk、RabbitMQ、Apache Kafka。其中,Spring Boot簡(jiǎn)化了微服務(wù)
    的頭像 發(fā)表于 12-21 16:33 ?544次閱讀

    NVIDIA NIM微服務(wù)登陸亞馬遜云科技

    經(jīng)過(guò)優(yōu)化的 NIM 微服務(wù)現(xiàn)可在 Amazon Bedrock Marketplace、SageMaker JumpStart 和 AWS Marketplace 上獲取,用于各種 NVIDIA 和生態(tài)系統(tǒng)模型。
    的頭像 發(fā)表于 12-06 13:33 ?628次閱讀

    全新NVIDIA NIM微服務(wù)實(shí)現(xiàn)突破性進(jìn)展

    全新 NVIDIA NIM 微服務(wù)實(shí)現(xiàn)突破性進(jìn)展,可助力氣象技術(shù)公司開發(fā)和部署 AI 模型,實(shí)現(xiàn)對(duì)降雪、結(jié)冰和冰雹的預(yù)測(cè)。
    的頭像 發(fā)表于 11-21 10:07 ?588次閱讀

    SSR與微服務(wù)架構(gòu)的結(jié)合應(yīng)用

    隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,前端技術(shù)棧不斷更新迭代,后端架構(gòu)也經(jīng)歷了從單體應(yīng)用到微服務(wù)的變革。在這個(gè)過(guò)程中,服務(wù)端渲染(SSR)作為一種提升頁(yè)面加載速度和SEO性能的技術(shù),與微服務(wù)架構(gòu)的結(jié)合應(yīng)用,為
    的頭像 發(fā)表于 11-18 11:34 ?729次閱讀

    微服務(wù)架構(gòu)與容器云的關(guān)系與區(qū)別

    微服務(wù)架構(gòu)與容器云密切相關(guān)又有所區(qū)別。微服務(wù)將大型應(yīng)用拆分為小型、獨(dú)立的服務(wù),而容器云基于容器技術(shù),為微服務(wù)提供構(gòu)建、發(fā)布和運(yùn)行的平臺(tái)。區(qū)別在于,
    的頭像 發(fā)表于 10-21 17:28 ?479次閱讀

    入門級(jí)攻略:如何容器化部署微服務(wù)

    第一步理解容器化基礎(chǔ),第二步創(chuàng)建Dockerfile,第三步構(gòu)建推送鏡像,第四步部署微服務(wù),第五步管理微服務(wù)、第六步優(yōu)化更新。容器化部署微服務(wù)是現(xiàn)代軟件開發(fā)中的一種高效方法,可提供良好的可移植性、可擴(kuò)展性和管理性。容器化部署
    的頭像 發(fā)表于 10-09 10:08 ?332次閱讀

    Proxyless的多活流量和微服務(wù)治理

    1. 引言 1.1 項(xiàng)目的背景及意義 在當(dāng)今的微服務(wù)架構(gòu)中,應(yīng)用程序通常被拆分成多個(gè)獨(dú)立的服務(wù),這些服務(wù)通過(guò)網(wǎng)絡(luò)進(jìn)行通信。這種架構(gòu)的優(yōu)勢(shì)在于可以提高系統(tǒng)的可擴(kuò)展性和靈活性,但也帶來(lái)了新
    的頭像 發(fā)表于 08-28 16:54 ?1909次閱讀
    Proxyless的多活流量和<b class='flag-5'>微服務(wù)</b>治理

    NVIDIA NIM微服務(wù)帶來(lái)巨大優(yōu)勢(shì)

    服務(wù)通過(guò)熱門 AI 模型為數(shù)百萬(wàn)開發(fā)者帶來(lái)高達(dá) 5 倍的 token 效率提升,使他們能夠立即訪問在 NVIDIA DGX Cloud 上運(yùn)行的 NIM 微服務(wù)
    的頭像 發(fā)表于 08-23 15:20 ?854次閱讀

    采用OpenUSD和NVIDIA NIM微服務(wù)創(chuàng)建精準(zhǔn)品牌視覺

    全球領(lǐng)先的創(chuàng)意和制作服務(wù)機(jī)構(gòu)率先采用 OpenUSD 和 NVIDIA NIM 微服務(wù)來(lái)創(chuàng)建精準(zhǔn)的品牌視覺。
    的頭像 發(fā)表于 08-01 14:33 ?658次閱讀

    全新 NVIDIA NeMo Retriever微服務(wù)大幅提升LLM的準(zhǔn)確性和吞吐量

    企業(yè)能夠通過(guò)提供檢索增強(qiáng)生成功能的生產(chǎn)就緒型 NVIDIA NIM 推理微服務(wù),充分挖掘業(yè)務(wù)數(shù)據(jù)的價(jià)值。這些微服務(wù)現(xiàn)已集成到 Cohesity、DataStax、NetApp 和 Sn
    的頭像 發(fā)表于 07-26 11:13 ?1180次閱讀
    全新 NVIDIA NeMo Retriever<b class='flag-5'>微服務(wù)</b>大幅提升LLM的準(zhǔn)確性和吞吐量