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

深入淺出帶你了解微服務(wù)架構(gòu)如何運(yùn)作?

開發(fā) 架構(gòu)
如果您必須定義泛在語(yǔ)言(UL),那么它是特定域的開發(fā)人員和用戶使用的通 用語(yǔ)言,通過該語(yǔ)言可以輕松解釋域。無(wú)處不在的語(yǔ)言必須非常清晰,以便它將所有團(tuán)隊(duì)成員放在同一頁(yè)面上,并以 機(jī)器可以理解的方式進(jìn)行翻譯。

1.您對(duì)微服務(wù)有何了解?

微服務(wù),又稱微服務(wù)架構(gòu),是一種架構(gòu)風(fēng)格,它將應(yīng)用程序構(gòu)建為以業(yè)務(wù)領(lǐng)域?yàn)槟P偷男⌒妥灾畏?wù)集合。一文詳解微服務(wù)架構(gòu)通俗地說,你必須看到蜜蜂如何通過對(duì)齊六角形蠟細(xì)胞來(lái)構(gòu)建它們的蜂窩狀物。他們最初從使用各種材料的小部分開始,并繼續(xù)從中構(gòu)建一個(gè)大型蜂箱。這些細(xì)胞形成圖案,產(chǎn)生堅(jiān)固的結(jié)構(gòu),將蜂窩的特定部分固定在一起。這里,每個(gè)細(xì)胞獨(dú)立于另一個(gè)細(xì)胞,但它也與其他細(xì)胞相關(guān)。這意味著對(duì)一個(gè)細(xì)胞的損害不會(huì)損害其他細(xì)胞,因此,蜜蜂可以在不影響完整蜂箱的情況下重建這些細(xì)胞。

圖 1:微服務(wù)的蜂窩表示 – 微服務(wù)訪談問題

請(qǐng)參考上圖。這里,每個(gè)六邊形形狀代表單獨(dú)的服務(wù)組件。與蜜蜂的工作類似,每個(gè)敏捷團(tuán)隊(duì)都使用可用的框架和所選的技術(shù)堆棧構(gòu)建單獨(dú)的服務(wù)組件。就像在蜂箱中一樣,每個(gè)服務(wù)組件形成一個(gè)強(qiáng)大的微服務(wù)架構(gòu),以提供更好的可擴(kuò)展性。此外,敏捷團(tuán)隊(duì)可以單獨(dú)處理每個(gè)服務(wù)組件的問題,而對(duì)整個(gè)應(yīng)用程序沒有影響或影響最小。

2說說微服務(wù)架構(gòu)的優(yōu)勢(shì)

優(yōu)勢(shì)

說明

獨(dú)立開發(fā)

所有微服務(wù)都可以根據(jù)各自的功能輕松開發(fā)

獨(dú)立部署

根據(jù)他們所提供的服務(wù),可以在任何應(yīng)用中單獨(dú)部署

故障隔離

即使應(yīng)用中的一個(gè)服務(wù)不起作用,系統(tǒng)仍然繼續(xù)運(yùn)行

混合技術(shù)棧

可以用不同的語(yǔ)言和技術(shù)來(lái)構(gòu)建同一應(yīng)用程序的不同服務(wù)

粒度縮放

各個(gè)組件可根據(jù)需要進(jìn)行擴(kuò)展,無(wú)需將所有組件融合到一起

3微服務(wù)有哪些特點(diǎn)?

  • 解耦—系統(tǒng)內(nèi)的服務(wù)很大程度上是分離的。因此,整個(gè)應(yīng)用程序可以輕松 構(gòu)建,更改和擴(kuò)展
  • 組件化—微服務(wù)被視為可以輕松更換和升級(jí)的獨(dú)立組件
  • 業(yè)務(wù)能力—微服務(wù)非常簡(jiǎn)單,專注于單一功能
  • 自治—開發(fā)人員和團(tuán)隊(duì)可以彼此獨(dú)立工作,從而提高速度
  • 持續(xù)交付—通過軟件創(chuàng)建,測(cè)試和批準(zhǔn)的系統(tǒng)自動(dòng)化,允許頻繁發(fā)布軟件
  • 責(zé)任—微服務(wù)不關(guān)注應(yīng)用程序作為項(xiàng)目。相反,他們將應(yīng)用程序視為他們
  • 負(fù)責(zé)的產(chǎn)品
  • 分散治理—重點(diǎn)是使用正確的工具來(lái)做正確的工作。這意味著沒有標(biāo)準(zhǔn)化模式或任何技術(shù)模式。開發(fā)人員可以自由選擇最有用的工具來(lái)解決他們的問題
  • 敏捷—微服務(wù)支持敏捷開發(fā)。任何新功能都可以快速開發(fā)并再次丟棄

4設(shè)計(jì)微服務(wù)的最佳實(shí)踐是什么?

以下是設(shè)計(jì)微服務(wù)的最佳實(shí)踐:


圖 6:設(shè)計(jì)微服務(wù)的最佳實(shí)踐 – 微服務(wù)訪談問題

5微服務(wù)架構(gòu)如何運(yùn)作?

微服務(wù)架構(gòu)具有以下組件:

  • 客戶端 – 來(lái)自不同設(shè)備的不同用戶發(fā)送請(qǐng)求。
  • 身份提供商 – 驗(yàn)證用戶或客戶身份并頒發(fā)安全令牌。
  • API 網(wǎng)關(guān) – 處理客戶端請(qǐng)求。
  • 靜態(tài)內(nèi)容 – 容納系統(tǒng)的所有內(nèi)容。
  • 管理 – 在節(jié)點(diǎn)上平衡服務(wù)并識(shí)別故障。
  • 服務(wù)發(fā)現(xiàn) – 查找微服務(wù)之間通信路徑的指南。
  • 內(nèi)容交付網(wǎng)絡(luò) – 代理服務(wù)器及其數(shù)據(jù)中心的分布式網(wǎng)絡(luò)。
  • 遠(yuǎn)程服務(wù) – 啟用駐留在 IT 設(shè)備網(wǎng)絡(luò)上的遠(yuǎn)程訪問信息。

6微服務(wù)架構(gòu)的優(yōu)缺點(diǎn)是什么?

微服務(wù)架構(gòu)的優(yōu)點(diǎn)

微服務(wù)架構(gòu)的缺點(diǎn)

自由使用不同的技術(shù)

增加故障排除挑戰(zhàn)

每個(gè)微服務(wù)都側(cè)重于單一功能

由于遠(yuǎn)程呼叫而增加延遲

支持單個(gè)可部署單元

增加了配置和其他操作的工作量

允許經(jīng)常發(fā)布軟件

難以保持交易安全

確保每項(xiàng)服務(wù)的安全性

艱難地跨越各種便捷跟蹤數(shù)據(jù)

多個(gè)服務(wù)是并行開發(fā)和部署的

難以在服務(wù)之間進(jìn)行編碼

7.單片,SOA 和微服務(wù)架構(gòu)有什么區(qū)別?

  • 單片架構(gòu)類似于大容器,其中應(yīng)用程序的所有軟件組件組裝在一起并緊密封裝。
  • 一個(gè)面向服務(wù)的架構(gòu)是一種相互通信服務(wù)的集合。通信可以涉及簡(jiǎn)單的數(shù)據(jù)傳遞,也可以涉及兩個(gè)或多個(gè)協(xié)調(diào)某些活動(dòng)的服務(wù)。
  • 微服務(wù)架構(gòu)是一種架構(gòu)風(fēng)格,它將應(yīng)用程序構(gòu)建為以業(yè)務(wù)域?yàn)槟P偷男⌒?自治服務(wù)集合。

8.在使用微服務(wù)架構(gòu)時(shí),您面臨哪些挑戰(zhàn)?

開發(fā)一些較小的微服務(wù)聽起來(lái)很容易,但開發(fā)它們時(shí)經(jīng)常遇到的挑戰(zhàn)如下。

  • 自動(dòng)化組件:難以自動(dòng)化,因?yàn)橛性S多較小的組件。因此,對(duì)于每個(gè)組件,我們必須遵循 Build,Deploy 和 Monitor 的各個(gè)階段。
  • 易感性:將大量組件維護(hù)在一起變得難以部署,維護(hù),監(jiān)控和識(shí)別問題。
  • 它需要在所有組件周圍具有很好的感知能力。
  • 配置管理:有時(shí)在各種環(huán)境中維護(hù)組件的配置變得困難。
  • 調(diào)試:很難找到錯(cuò)誤的每一項(xiàng)服務(wù)。維護(hù)集中式日志記錄和儀表板以調(diào)試問題至關(guān)重要。

9SOA 和微服務(wù)架構(gòu)之間的主要區(qū)別是什么?

SOA

微服務(wù)

遵循“盡可能多的共享”架構(gòu)方法

遵循“盡可能少分享”架構(gòu)方法

重要性在于“業(yè)務(wù)功能”重用

重要性在于“有界背景”的概念

它們有共同的治理和標(biāo)準(zhǔn)

它們專注于人們的合作和其他選擇的自由

使用企業(yè)服務(wù)總線(ESB)進(jìn)行通信

簡(jiǎn)單的消息系統(tǒng)

它們支持多種消息協(xié)議

它們使用輕量級(jí)協(xié)議,如 HTTP/REST 等

多線程,有跟多的開銷來(lái)處理 I/O

單線程,通常使用 Event Loop 功能進(jìn)行非 鎖定 I/O 處理

最大化應(yīng)用程序服務(wù)可重用性

專注于解耦

傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)更常用

現(xiàn)代關(guān)系數(shù)據(jù)庫(kù)更常用

系統(tǒng)的變化需要修改整體

系統(tǒng)的變化是創(chuàng)造一種新的服務(wù)

DevOps/Continuous Delivery 正在變得流 行,但還不是主流

專注于 DevOps/持續(xù)交付

10.微服務(wù)有什么特點(diǎn)?

您可以列出微服務(wù)的特征,如下所示:

圖 7:微服務(wù)的特征 – 微服務(wù)訪談問題

11.什么是領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)?

圖 8: DDD 原理 – 微服務(wù)面試問題

12為什么需要域驅(qū)動(dòng)設(shè)計(jì)(DDD)?

圖 9:我們需要 DDD 的因素 – 微服務(wù)面試問題

13什么是無(wú)所不在的語(yǔ)言?

如果您必須定義泛在語(yǔ)言(UL),那么它是特定域的開發(fā)人員和用戶使用的通 用語(yǔ)言,通過該語(yǔ)言可以輕松解釋域。無(wú)處不在的語(yǔ)言必須非常清晰,以便它將所有團(tuán)隊(duì)成員放在同一頁(yè)面上,并以 機(jī)器可以理解的方式進(jìn)行翻譯。

14什么是凝聚力?

模塊內(nèi)部元素所屬的程度被認(rèn)為是凝聚力。

15.什么是耦合?

組件之間依賴關(guān)系強(qiáng)度的度量被認(rèn)為是耦合。一個(gè)好的設(shè)計(jì)總是被認(rèn)為具有高內(nèi)聚力和低耦合性。

16什么是 REST / RESTful 以及它的用途是什么?

Representational State Transfer(REST)/ RESTful Web服務(wù)是一種幫助計(jì) 算機(jī)系統(tǒng)通過 Internet 進(jìn)行通信的架構(gòu)風(fēng)格。這使得微服務(wù)更容易理解和實(shí) 現(xiàn)。

微服務(wù)可以使用或不使用 RESTful API 實(shí)現(xiàn),但使用 RESTful API 構(gòu)建松散 耦合的微服務(wù)總是更容易。

17什么是不同類型的微服務(wù)測(cè)試?

在使用微服務(wù)時(shí),由于有多個(gè)微服務(wù)協(xié)同工作,測(cè)試變得非常復(fù)雜。因此,測(cè)試分為不同的級(jí)別。

在底層,我們有面向技術(shù)的測(cè)試,如單元測(cè)試和性能測(cè)試。這些是完全自 動(dòng)化的。

在中間層面,我們進(jìn)行了諸如壓力測(cè)試和可用性測(cè)試之類的探索性測(cè)試。

在頂層, 我們的驗(yàn)收測(cè)試數(shù)量很少。這些驗(yàn)收測(cè)試有助于利益相關(guān)者理解和驗(yàn)證軟件功能。

責(zé)任編輯:武曉燕 來(lái)源: 碼農(nóng)編程進(jìn)階筆記
相關(guān)推薦

2009-12-25 15:49:43

Linux rescu

2011-07-04 10:39:57

Web

2021-03-16 08:54:35

AQSAbstractQueJava

2022-01-12 08:54:52

Spring編程架構(gòu)設(shè)計(jì)

2022-09-26 09:01:15

語(yǔ)言數(shù)據(jù)JavaScript

2017-07-02 18:04:53

塊加密算法AES算法

2019-01-07 15:29:07

HadoopYarn架構(gòu)調(diào)度器

2021-07-20 15:20:02

FlatBuffers阿里云Java

2012-05-21 10:06:26

FrameworkCocoa

2017-07-17 11:52:54

jQuery源碼分析前端框架類庫(kù)

2022-01-13 09:38:25

Android架構(gòu)設(shè)計(jì)

2020-10-31 17:23:20

SDNIP網(wǎng)絡(luò)軟件

2009-11-17 17:31:58

Oracle COMM

2021-07-19 11:54:15

MySQL優(yōu)先隊(duì)列

2023-12-04 13:22:00

JavaScript異步編程

2010-07-26 12:57:12

OPhone游戲開發(fā)

2016-10-14 13:53:05

JavascriptDOMWeb

2016-10-14 14:32:58

JavascriptDOMWeb

2010-07-16 09:11:40

JavaScript內(nèi)存泄漏

2024-01-09 12:05:24

SSH協(xié)議端口
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)