Takin全鏈路性能測(cè)試工具
Takin是一款基于Java的開(kāi)源系統(tǒng),可嵌入到各個(gè)服務(wù)節(jié)點(diǎn),實(shí)現(xiàn)生產(chǎn)環(huán)境的全鏈路性能測(cè)試,尤其適合面向微服務(wù)架構(gòu)系統(tǒng)。通過(guò)Takin,系統(tǒng)中的中間件和應(yīng)用可以在生產(chǎn)環(huán)境識(shí)別真實(shí)流量和測(cè)試流量,保證它們進(jìn)入不同的數(shù)據(jù)庫(kù),實(shí)現(xiàn)真實(shí)和測(cè)試流量的現(xiàn)網(wǎng)隔離。
我們?yōu)槭裁葱枰錾a(chǎn)環(huán)境的性能測(cè)試?
微服務(wù)架構(gòu)在現(xiàn)代系統(tǒng)架構(gòu)中已被普遍使用,與此同時(shí),隨著業(yè)務(wù)的擴(kuò)張和微服務(wù)數(shù)量的增加,它使系統(tǒng)變得非常復(fù)雜以至于人無(wú)法理解,而且,很多業(yè)務(wù)邏輯本身也非常復(fù)雜。業(yè)務(wù)復(fù)雜性和系統(tǒng)復(fù)雜性使保證和維持整個(gè)系統(tǒng)的高可用性非常困難,同時(shí),它對(duì)研發(fā)效率也產(chǎn)生負(fù)面影響。
為了保證系統(tǒng)的高可用性,我們通常對(duì)測(cè)試環(huán)境或生產(chǎn)環(huán)境的單一服務(wù)進(jìn)行性能測(cè)試,但是,測(cè)試環(huán)境與在生產(chǎn)環(huán)境區(qū)別很大,單個(gè)服務(wù)也不能代表整個(gè)服務(wù)鏈路,因此,它們都不能保證系統(tǒng)的高可用,通常也無(wú)法給出準(zhǔn)確的容量評(píng)估結(jié)果。
微服務(wù)很復(fù)雜
和單體架構(gòu)相比,微服務(wù)架構(gòu)增加了業(yè)務(wù)系統(tǒng)的復(fù)雜性,因?yàn)樗淖臃?wù)數(shù)量更多,并且涉及更多的不同技術(shù)棧和框架。
業(yè)務(wù)系統(tǒng)也很復(fù)雜
很多業(yè)務(wù)本身的業(yè)務(wù)邏輯也很復(fù)雜,其中很多業(yè)務(wù)涉及比較長(zhǎng)的業(yè)務(wù)流程,例如電商業(yè)務(wù)。
服務(wù)與服務(wù)之間的調(diào)用關(guān)系也很復(fù)雜
在微服務(wù)架構(gòu)的系統(tǒng)中,服務(wù)之間的調(diào)用關(guān)系非常復(fù)雜,每次服務(wù)的發(fā)布和更新都可能影響整個(gè)系統(tǒng)的可用性,并使開(kāi)發(fā)人員難以頻繁發(fā)布新版本。
