摘要:一規(guī)避系統(tǒng)間依賴任何外部系統(tǒng)都是不可靠的假設(shè)你要做的是系統(tǒng),某個數(shù)據(jù)需要到系統(tǒng)去查。四時刻為外部異常做好準(zhǔn)備多系統(tǒng)間系統(tǒng)調(diào)用是無法保證數(shù)據(jù)一致性的。如果是外部系統(tǒng)調(diào)用在數(shù)據(jù)入口處就做好記錄,做一個狀態(tài)機(jī),當(dāng)你執(zhí)行成功后將狀態(tài)更改為成功。
一 規(guī)避系統(tǒng)間依賴
任何外部系統(tǒng)都是不可靠的
假設(shè)你要做的是A系統(tǒng),某個數(shù)據(jù)需要到B系統(tǒng)去查??紤]到:
自己系統(tǒng)是有qps指標(biāo)要求的
其它系統(tǒng)都是不可靠的
那么,是不是必須一定要到B系統(tǒng)呢?能不能做一份數(shù)據(jù)冗余呢?將B系統(tǒng)中數(shù)據(jù)同步到自己系統(tǒng),這樣,不管B系統(tǒng)怎么樣,自己系統(tǒng)都不會有問題了。
二 盡量是作為依賴提供方作為上游,而不是下游。寧可影響到別人,而不要被別人所影響
如果實在無法避免系統(tǒng)間依賴,那也盡量是做為上游的服務(wù)提供方,而非做下游的服務(wù)調(diào)用方。上游接口錯了,會污染到下游,寧可做污染的人,也不要被別人所污染。
非自己業(yè)務(wù)范疇一概不做。
老數(shù)據(jù),老產(chǎn)品能不做盡量不做。
四 時刻為外部異常做好準(zhǔn)備多系統(tǒng)間系統(tǒng)調(diào)用是無法保證數(shù)據(jù)一致性的。無論是外系統(tǒng)調(diào)用你還是你調(diào)用外系統(tǒng),如果外系統(tǒng)調(diào)用你,如果你失敗了,那么他的數(shù)據(jù)無法保證一致;同理,如果是你調(diào)用外系統(tǒng),那么他的系統(tǒng)失敗了,你的數(shù)據(jù)就有問題了。
如果是外部系統(tǒng)調(diào)用
在數(shù)據(jù)入口處就做好記錄,做一個狀態(tài)機(jī),當(dāng)你執(zhí)行成功后將狀態(tài)更改為成功。同時,外部系統(tǒng)也應(yīng)該做一個數(shù)據(jù)反查或者數(shù)據(jù)推送接口,查詢數(shù)據(jù)是否成功,或者由我們這邊推送狀態(tài)。
如果是調(diào)用外部接口
如果是本系統(tǒng)調(diào)用外部接口,特別是外部系統(tǒng)變更,比如涉及到插入或者修改(查詢不算),那么是不是需要要求外部系統(tǒng)成功后做一個推送?或者自己這邊做一個查詢,來輪詢接口的調(diào)用情況。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/11926.html
摘要:在世界級的安卓測試開發(fā)流第一部分,作者開始了安卓測試開發(fā)流的討論。這個測試用例的測試對象是,部分指令集僅涉及執(zhí)行的指令和。測試的粒度則應(yīng)當(dāng)和測試范圍相當(dāng)。一旦我們能夠測試產(chǎn)品需求是否正確實現(xiàn),我們必須繼續(xù)測試開發(fā)流。 在「世界級的安卓測試開發(fā)流?—?第一部分」,作者開始了安卓測試開發(fā)流的討論。我們探討了一個軟件工程師開始編寫測試,到發(fā)現(xiàn)測試開發(fā)中的相關(guān)問題的不斷變化。 最后,得到了以下...
摘要:一返回值調(diào)用外部方法獲取的值需要對類型做判斷,因為我們對方法返回的值是有期望值類型,但是卻不能保證這個接口返回的值一直是同一個類型。 19年目標(biāo):消滅英語!我新開了一個公眾號記錄一個程序員學(xué)英語的歷程 有提升英語訴求的小伙伴可以關(guān)注公眾號:csenglish 程序員學(xué)英語,每天花10分鐘交作業(yè),跟我一起學(xué)英語吧 javascript作為一門動態(tài)類型語言,具有很高的動態(tài)靈活性,當(dāng)定義函數(shù)...
摘要:微服務(wù)能夠為應(yīng)用程序設(shè)計提供一種更具針對性范圍性與模塊性的實現(xiàn)方案。安全微服務(wù)部署模式可謂多種多樣但其中使用最為廣泛的當(dāng)數(shù)每主機(jī)服務(wù)模式。在微服務(wù)環(huán)境下,安全性往往成為最大的挑戰(zhàn)。不同微服務(wù)之間可通過多種方式建立受信關(guān)系。 每個人都在討論微服務(wù),每個人也都希望能夠?qū)崿F(xiàn)微服務(wù)架構(gòu),而微服務(wù)安全也日漸成為大家關(guān)注的重要問題。今天小數(shù)與大家分享的文章,就從應(yīng)用層面深入探討了應(yīng)對微服務(wù)安全挑戰(zhàn)...
閱讀 998·2021-11-24 10:30
閱讀 2324·2021-10-08 10:04
閱讀 3965·2021-09-30 09:47
閱讀 1448·2021-09-29 09:45
閱讀 1441·2021-09-24 10:33
閱讀 6262·2021-09-22 15:57
閱讀 2356·2021-09-22 15:50
閱讀 4087·2021-08-30 09:45