偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

設(shè)計(jì)微服務(wù)架構(gòu)時(shí)應(yīng)避免的五個(gè)錯(cuò)誤

譯文
開(kāi)發(fā) 架構(gòu)
本文介紹了設(shè)計(jì)成功的微服務(wù)架構(gòu)的幾個(gè)優(yōu)秀實(shí)踐。我們不會(huì)介紹開(kāi)發(fā)或部署微服務(wù),而是討論計(jì)劃使用微服務(wù)架構(gòu)時(shí)應(yīng)避免的常見(jiàn)錯(cuò)誤。

[[316471]]

【51CTO.com快譯】到目前為止,大多數(shù)開(kāi)發(fā)人員已聽(tīng)說(shuō)了微服務(wù)的種種好處。不過(guò),真正通過(guò)將現(xiàn)有應(yīng)用程序轉(zhuǎn)換成微服務(wù)架構(gòu)以“遷移整體式系統(tǒng)”時(shí),你可能會(huì)發(fā)現(xiàn)設(shè)計(jì)有效的微服務(wù)架構(gòu)困難重重。開(kāi)發(fā)社區(qū)費(fèi)了大量的時(shí)間討論為何采用微服務(wù)架構(gòu),而不是討論如何設(shè)計(jì)。

本文介紹了設(shè)計(jì)成功的微服務(wù)架構(gòu)的幾個(gè)優(yōu)秀實(shí)踐。我們不會(huì)介紹開(kāi)發(fā)或部署微服務(wù),而是討論計(jì)劃使用微服務(wù)架構(gòu)時(shí)應(yīng)避免的常見(jiàn)錯(cuò)誤。

1. 癡迷于每項(xiàng)功能有一個(gè)服務(wù)

讓大多數(shù)開(kāi)發(fā)人員描述有效的微服務(wù)架構(gòu),他們會(huì)告訴你應(yīng)用程序每方面的功能都應(yīng)該由不同的微服務(wù)提供支持。以支付應(yīng)用程序?yàn)槔?,身份?yàn)證應(yīng)由一個(gè)微服務(wù)處理,另一個(gè)微服務(wù)進(jìn)行支付處理,另一個(gè)微服務(wù)運(yùn)行前端,另一個(gè)存儲(chǔ)和檢索數(shù)據(jù),依此類(lèi)推。

旨在將各大應(yīng)用功能派給不同的微服務(wù)通常是個(gè)好主意。但是這個(gè)原則很容易過(guò)猶不及,往往會(huì)阻礙設(shè)計(jì)有效的微服務(wù)架構(gòu)。

有時(shí),區(qū)別一項(xiàng)功能與另一項(xiàng)功能的界線很模糊。比如說(shuō),你是否應(yīng)該將用戶注冊(cè)視作與用戶身份驗(yàn)證不同的功能,因此為各自創(chuàng)建單獨(dú)的微服務(wù)?如果你的應(yīng)用程序?qū)?shù)據(jù)存儲(chǔ)在多個(gè)位置,每個(gè)位置都應(yīng)該擁有自己的微服務(wù)嗎?還是應(yīng)該只有一個(gè)數(shù)據(jù)服務(wù)來(lái)處理所有位置?

這些問(wèn)題的答案是,這可能無(wú)關(guān)緊要。要弄清楚某應(yīng)用程序?qū)⒂卸嗌傥⒎?wù)、各自處理哪些功能。如果你花太多的時(shí)間弄清楚如何在應(yīng)用程序中拆分不同的任務(wù),工作效率就不會(huì)很高。

2. 微服務(wù)做得過(guò)小

同樣,設(shè)計(jì)微服務(wù)架構(gòu)使每個(gè)微服務(wù)過(guò)小,因此需要眾多微服務(wù)來(lái)組成整個(gè)應(yīng)用程序是常見(jiàn)的錯(cuò)誤。

開(kāi)發(fā)人員之所以遇到這個(gè)陷阱,是由于他們認(rèn)為微服務(wù)越小越好。從某種意義上說(shuō)是對(duì)的——將大型應(yīng)用程序分成較小的離散單元是為應(yīng)用程序提高可擴(kuò)展性和可靠性的一種方法。

但是如果微服務(wù)變得過(guò)小,以后開(kāi)發(fā)和部署微服務(wù)時(shí)開(kāi)銷(xiāo)會(huì)大大增加。每個(gè)微服務(wù)需要各自的開(kāi)發(fā)和部署管道(更不用說(shuō)單獨(dú)的監(jiān)控、日志和安全操作了)。

因此,雖然你確實(shí)希望微服務(wù)小點(diǎn),但不應(yīng)該過(guò)小,也不應(yīng)該讓?xiě)?yīng)用程序含有太多的微服務(wù)。作為一條普遍的準(zhǔn)則,如果你的應(yīng)用程序由不止十幾個(gè)微服務(wù)組成,每個(gè)微服務(wù)可能太小,你應(yīng)該將一些微服務(wù)合并起來(lái),以不同的方式來(lái)設(shè)計(jì)架構(gòu)。

3. 需要特定的部署解決方案

如今的常見(jiàn)做法是通過(guò)容器來(lái)部署微服務(wù)——通常借助OpenShift或另一種基于Kubernetes的編排平臺(tái)。

但幾年后還會(huì)是這樣嗎?不好說(shuō)。部署技術(shù)日新月異,很難知道哪種部署解決方案將來(lái)對(duì)你的微服務(wù)應(yīng)用最合理。

因此,以需要特定類(lèi)型部署技術(shù)的方式設(shè)計(jì)微服務(wù)架構(gòu)是錯(cuò)誤的。你不應(yīng)該讓自己依賴Kubernetes、甚至普通的容器才能部署應(yīng)用程序,而是應(yīng)設(shè)計(jì)一種可以在各種基礎(chǔ)架構(gòu)上、甚至可以在各種操作系統(tǒng)上運(yùn)行的架構(gòu)。

4. 要求同時(shí)更新所有微服務(wù)

你有時(shí)在微服務(wù)架構(gòu)中看到的一個(gè)錯(cuò)誤是要求:如果更新應(yīng)用程序中的一個(gè)微服務(wù),同時(shí)也要更新(或至少重新啟動(dòng))其他微服務(wù)。

如果從整體式系統(tǒng)的角度來(lái)看,這種想法很自然。但是就微服務(wù)而言,這種方法意味著你是自找麻煩。微服務(wù)的目的一方面是在不影響其他部分的情況下,更新、擴(kuò)展或重新啟動(dòng)應(yīng)用程序的某些部分。

因此,如果更改一個(gè)微服務(wù)的狀態(tài)意味著也要更改其他微服務(wù)的狀態(tài),你就失去了微服務(wù)本該帶來(lái)的許多靈活性。也更難搞持續(xù)交付,因?yàn)槟銦o(wú)法在不影響其他服務(wù)的情況下推送針對(duì)某一服務(wù)的更新。

另一方面,你的微服務(wù)不應(yīng)太緊密地耦合在一起。設(shè)計(jì)架構(gòu)時(shí)盡可能避免這種情況:如果依賴的另一個(gè)微服務(wù)沒(méi)在運(yùn)行,某一微服務(wù)就無(wú)法運(yùn)行。

5. 忽視日志

設(shè)計(jì)微服務(wù)架構(gòu)時(shí)要避免的最后一個(gè)陷阱是忽視日志。

很容易犯這個(gè)錯(cuò)誤。你會(huì)以為可以在以后為每個(gè)微服務(wù)編寫(xiě)代碼時(shí)搞清楚日志,或者只要將日志代理部署到微服務(wù)環(huán)境中,它就能收集所需的所有數(shù)據(jù)。

最好一開(kāi)始就將日志納入到微服務(wù)架構(gòu)中。在許多情況下,這意味著專(zhuān)門(mén)創(chuàng)建一個(gè)微服務(wù),用于從其他微服務(wù)收集日志數(shù)據(jù)。不過(guò)在其他情況下,每個(gè)微服務(wù)可能會(huì)進(jìn)行自己的日志記錄,將數(shù)據(jù)重定向到中心位置。

無(wú)論采用哪種策略,目的都應(yīng)該是確保微服務(wù)架構(gòu)便于從整個(gè)應(yīng)用程序收集日志數(shù)據(jù),并將其放入到中心位置以便分析和保存。

結(jié)論

設(shè)計(jì)微服務(wù)時(shí)沒(méi)有一成不變的規(guī)定。不過(guò)作為一般準(zhǔn)則,上述原則仍將幫助你規(guī)劃好這樣的微服務(wù)架構(gòu):提供微服務(wù)本應(yīng)提供的所有好處,又沒(méi)有因?yàn)樵愀庠O(shè)計(jì)的微服務(wù)架構(gòu)給開(kāi)發(fā)人員和IT團(tuán)隊(duì)帶來(lái)的麻煩。

原文標(biāo)題:5 Mistakes to Avoid When Designing a Microservices Architecture,作者:Christopher Tozzi

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

 

責(zé)任編輯:龐桂玉 來(lái)源: 51CTO
相關(guān)推薦

2022-12-07 08:47:48

2015-05-22 09:05:00

云部署云部署錯(cuò)誤

2011-07-28 09:42:14

IT安全虛擬化數(shù)據(jù)泄漏

2024-02-23 11:29:05

數(shù)據(jù)中心服務(wù)器

2024-04-03 14:50:46

數(shù)據(jù)中心冷卻數(shù)據(jù)中心

2023-06-07 07:43:06

APIVue 2Vue 3

2021-06-28 10:12:34

云計(jì)算云平臺(tái)云計(jì)算架構(gòu)

2012-04-26 10:26:51

移動(dòng)應(yīng)用設(shè)計(jì)

2019-07-01 10:43:15

區(qū)塊鏈技術(shù)數(shù)據(jù)

2024-01-25 11:28:18

CIO數(shù)據(jù)戰(zhàn)略IT領(lǐng)導(dǎo)者

2021-02-23 10:36:13

IT主管首席信息官IT預(yù)算

2017-09-27 13:56:58

微服務(wù)架構(gòu)故障網(wǎng)絡(luò)

2023-08-01 10:41:27

分派IT工作CIO

2025-05-14 07:00:00

智能體自主式AI

2021-12-02 18:07:53

云網(wǎng)絡(luò)部署云端云計(jì)算

2019-11-01 10:45:48

CIOIT技術(shù)

2024-06-03 00:00:10

微服務(wù)Python

2009-01-27 17:24:00

服務(wù)器數(shù)據(jù)虛擬化缺點(diǎn)

2019-08-30 11:12:52

防火墻網(wǎng)絡(luò)安全

2021-03-09 09:52:55

技術(shù)React Hooks'數(shù)據(jù)
點(diǎn)贊
收藏

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