下一代微服务(service Mesh)
有沒有同學(xué)了解過Service Mesh。?
什么是Service Mesh??
簡單來說,它可以直接翻譯成服務(wù)網(wǎng)格。它是一個基礎(chǔ)設(shè)施層,用于處理服務(wù)之間的通信,并且負(fù)責(zé)請求的可靠傳輸。什么意思呢??
serviceMesh演進(jìn)?
在第一代網(wǎng)絡(luò)計算機(jī)系統(tǒng)時代,那個時候的程序員需要完成服務(wù)的網(wǎng)絡(luò)通信,需要自己寫代碼來處理網(wǎng)絡(luò)通信的細(xì)節(jié),比如數(shù)據(jù)包的順序、流量控制。導(dǎo)致網(wǎng)絡(luò)處理邏輯和業(yè)務(wù)邏輯混合在一起,同時對于開發(fā)人員來說要求較高。為了解決這個問題,把網(wǎng)絡(luò)層的處理邏輯進(jìn)行抽象,實(shí)現(xiàn)了TCP/IP技術(shù)。對于用戶而言,并不需要關(guān)心底層的網(wǎng)絡(luò)通信環(huán)節(jié)。?
到了微服務(wù)時代,我們也面臨了類似的問題。業(yè)務(wù)人員在做微服務(wù)開發(fā)時需要處理一些列比較基礎(chǔ)的事情,比如服務(wù)注冊、服務(wù)發(fā)現(xiàn)、負(fù)載均衡、服務(wù)熔斷和重試等。?
這些功能對于每一個業(yè)務(wù)程序員而言,都必須要了解和掌握,而實(shí)際上這些和業(yè)務(wù)功能并沒有太大的關(guān)系,它理應(yīng)是一個基礎(chǔ)組件。?
所以,有些公司就開始開發(fā)基礎(chǔ)組件,典型的Netflix OSS套件(eureka/hystrix/feign/ribbon/zuul)。有了這些組件,開發(fā)人員就可以使用很少的代碼來實(shí)現(xiàn)這些服務(wù)治理的功能。而恰恰因?yàn)檫@個原因,使得Spring Cloud的普及非常快,幾乎成了微服務(wù)的代名詞?
但是到這一步之后,就完美了嗎?其實(shí)不是, 雖然spring cloud這個生態(tài)中的各種組件能夠解決微服務(wù)開發(fā)中的各種問題,但是對于一個業(yè)務(wù)開發(fā)而言,需要掌握這么多的技術(shù)組件,門檻比較高。同時在落地的過程中任何一個組件出現(xiàn)問題,都需要較長的時間來解決。要完全吃透Spring Cloud和Netflix OSS的各種套件是很困難的?
?
總結(jié)
以上是生活随笔為你收集整理的下一代微服务(service Mesh)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring-Cloud中各个组件的职责
- 下一篇: SpringCloud微服务带来的问题