欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

通過微服務構建易擴展云平臺么

錢琪琛2年前11瀏覽0評論

通過微服務構建易擴展云平臺么?

當前各種云平臺、開放平臺滿天飛,大到互聯網巨頭小到垂直行業頭部有野心的企業,都會有搭建云平臺的沖動。技術上也有各種高大上滿天飛的,但是最終落地還是需要結合自身實際情況和業務需求,考慮性價比來執行。往往是從豐滿到骨感,引無數大牛盡折腰。好了,不多說了,找個合適的給大家看看

1、為什么要構建微服務所有架構方案的提出都是根據應用場景進行優化的,想一下5年前,當時springmvc大行其道,使用ssm 構建應用基本上是當時開發界的標準。當時的數據量還沒有進行服務拆分,所有服務構建在一個單體應 用中,所有服務間調用是通過http請求實現的。

但是這種方式構建的應用有幾個最主要的缺點:1、當請求量和并發量上來后,服務擴展比較困難,單體應用可以實現集群化提供服務,但需要配置前 端代理服務器,如果并發量降下來后又要回收服務資源修改配置。2、所有服務共用一個后端數據庫資源,這樣數據庫就成為了性能瓶頸。3、單體應用一旦掛掉,整個服務將不能提供應用,比如一個服務中提供了下單、瀏覽、注冊服務,如 果所有接口構建在一個服務中,那么當出現問題時所有功能都不可用。

以上只是列舉了幾個單體應用可能遇見的問題,微服務提出就可以解決以上出現的問題,將大的服務拆 分成多個小應用提供服務,每個服務單獨使用各自的數據庫資源,這樣就實現了“不把雞蛋放在一個籃 子里”,當某個服務宕機后,最多那個服務不可用,其他資源還可繼續使用。

2、微服務的優勢與劣勢微服務拆分最大程度上解耦了應用,但是也一樣帶來了服務的復雜度,比如要查詢用戶的訂單信息,在 早期的架構方案中,這兩個數據是存儲在一起的,通過一個表關聯查詢出數據;但是在微服務下這樣就 實現不了了,因為這兩個數據是存儲在不同位置,如果要查詢這兩個數據,需要到兩個服務中分別取出 來然后再組裝起來返回給客戶。

微服務優點:1、服務解耦:不同的服務拆分成不同的應用對外提供服務2、方便擴展:如果某個應用并發量很大,對單個應用進行擴容,當請求量將下來后再回收資源3、數據解耦:將不同的應用數據存儲在不同的數據庫中,這樣就實現了數據的水平拆分

微服務的缺點:1、增加了服務的復雜性,原來一個請求就能獲取到的數據,微服務化后可能需要多次請求才能獲取到 結果2、維護成本增加了,不同的應用需要不同的人員進行維護3、架構復雜,增加了問題排查和定位的難度

3、docker容器化實現動態伸縮如果只是對服務進行拆分,并沒有體現出微服務的優勢,對于動態擴容和伸縮還是需要人員來參與,所 以云平臺在構建的時候考慮到了這些,在服務拆分同時,使用的k8s進行服務治理,實現動態擴容和伸 縮,同時使用elk進行日志收集和分析,這種架構基本實現了我們的業務需求:1、服務和數據拆分,不同服務的數據存儲在不同的數據庫,對數據庫進行水平擴展2、日志統一收集處理,排查和定位問題方便3、使用k8s進行服務編排和治理,可以實現資源動態伸縮,方便管理

4、云平臺整體架構云平臺整體使用的springcloud構建微服務,微服務構建使用docker部署在k8s中,對外通過統一的nginx做請求轉發,應用服務和數據存儲之間使用redis緩存。