Design Microservices Architecture for Failures
這是在hacknoon看到一篇微服務(wù)的文章,里面應(yīng)對(duì)異常的方案非常好焕济,所以提取要點(diǎn)锐锣,總結(jié)如下饲窿。轧苫。
1、Grace Service Degredation(優(yōu)雅的服務(wù)退化):
1)部分上線阳距,觀察指標(biāo)塔粒;
2)prod和pre,在pre上線確認(rèn)無(wú)誤筐摘,上prod
注意:有問(wèn)題卒茬,立即回滾是一件好事.
2、Health-check and Load Balancing
3蓄拣、self-healing
注意一些資源不可用扬虚,會(huì)導(dǎo)致restarting失敗。
4球恤、Failover caching
可以專(zhuān)門(mén)設(shè)定一個(gè)故障時(shí)訪問(wèn)的緩存,減少不可訪問(wèn)時(shí)間(the outdated data better than nothing.)
5荸镊、Retry Logic
訪問(wèn)設(shè)定重試機(jī)制咽斧,但要注意次數(shù),避免雪崩情況
6躬存、Rate Limiter and Load Shedders(負(fù)載和限流)
7张惹、Bulkheads(分隔)
比如池,可以適當(dāng)劃分成sections岭洲,這樣能避免公用連接池宛逗,導(dǎo)致資源不夠用時(shí),公用所有服務(wù)都失敗
8盾剩、Circuit Breakers(開(kāi)關(guān))
9雷激、Teating for Failures(驗(yàn)錯(cuò))
chaos monkey
這個(gè)更偏向自身實(shí)現(xiàn)微服務(wù)要考慮的一些要點(diǎn)。如果要從更系統(tǒng)的角度思考告私,需要考慮權(quán)限認(rèn)證屎暇,業(yè)務(wù)流跟蹤(openzipkin),錯(cuò)誤集中收集(ELK)驻粟。