国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

詳解多云架構下的JAVA微服務技術解析

瀏覽:4日期:2022-08-12 14:59:10
目錄微服務生態多云微服務架構的兩種方案采用開源微服務框架適配多供應商開發框架微服務生態

微服務生態本質上是一種微服務架構模式的實現,包括微服務開發SDK,以及微服務基礎設施。

目前比較成熟的 JAVA 微服務生態包括 servicecomb(華為), spring-cloud (Pivotal), dubbo(阿里), tsf(騰訊)等。gRPC、Thrift 等也用于內部服務之間的通信,但是微服務基礎設施比較欠缺。

核心的微服務基礎設施包括:注冊中心、配置中心、應用網關。此外,分布式事物管理、計劃任務、調用鏈跟蹤系統等也是微服務基礎設施的組成部分。完整的微服務基礎實施還包括開發使能工具,包括接口管理工具、灰度發布管理、代碼生成等,這部分主要由云廠商提供,比較少開源方案。

微服務生態的核心是 SDK,而 SDK 的核心是 RPC 框架,這個是不同微服務生態的本質區別。在基礎設施方面,不同的微服務生態是可以相互選擇的,比如 spring-cloud 生態可以采用 spring-cloud-huawei 接入servicecomb 提供的注冊中心 servicecomb-service-center、配置中心 servicecomb-kie,也可以通過 spring-cloud-alibaba 接入阿里的配置中心;servicecomb 也可以通過引入擴展,使用其他的配置中心。一些基礎的開發組件,比如 spring、spring boot,這些微服務開發 SDK 都支持集成。

詳解多云架構下的JAVA微服務技術解析

對微服務生態進行比較是一個很難的課題。下面的表格僅對一些核心功能進行比較。使能工具、核心基礎設施、可選基礎設施等方面,不同的微服務生態是可以相互使用的,這里的比較只針對該生態原生提供的來說,并不代表某個微服務生態缺少這塊功能,該生態的開發者用不了這方面的能力。對于開源生態應該采用一個大生態的眼光來看待,每個生態的設計者也會盡可能融入其他生態,繼承和復用其他生態的能力。但是在商業選型上,需要考慮技術支持等因素。

詳解多云架構下的JAVA微服務技術解析

對微服務生態的比較的另外一個視角就是如何構建微服務應用架構。 一般的微服務應用架構會包括應用網關、業務微服務和靜態頁面。靜態頁面的部署相對比較靈活,可以放到應用網關內部,也可以放到應用網關,還可以放到應用網關外面。其中放到網關里面的方式最靈活,比如可以通過配置網關的負載均衡策略,將請求轉發到用戶最近的region,也可以對部分靜態頁面進行訪問控制。

增加應用網關可以增強應用系統的彈性,能夠支撐系統的持續演進(參考分析文章),同時可以結合網絡基礎設施,更好的實現應用系統的能力開放。比如如果接入層使用 API Gateway 掛載,可以很好的實現內部系統的能力開放和計費;使用LVS接入,只可以提高轉發性能,比較適合訪問量大的應用,接入網關邏輯少,應用網關可以彈性擴容;使用DNS則對于網站很有用,屏蔽用戶訪問的地址差異,并且可以使用DNS將請求轉發到不同區域的應用網關。

Servicecomb, spring-cloud 都能夠很好的支持這種架構,而 dubbo 對這種架構支持的不是很好,很多 dubbo 開發者都是通過在業務服務之外增加一個接入層,使用 spring-cloud 的應用網關來搭建這個應用架構。

詳解多云架構下的JAVA微服務技術解析

多云微服務架構的兩種方案采用開源微服務框架

很多業務系統的構建,都是從選擇一個開源方案開始。 一般會首先選擇一個微服務開發 SDK, 然后選擇其他的微服務基礎設施。 對于自主研發的情況,微服務基礎設施也會選擇開源方案。 比如選擇 ServiceComb 微服務開發 SDK 的場景,可以通過在不同的云上部署開源服務,來實現一套系統,多個云上運行。 云廠商如果存在微服務基礎設施的商業版本, 可以在云上購買使用, 使用云產商提供的基礎設施服務,通??梢越档妥约哼\維的成本,并能夠得到更好的性能優化和可靠性支持。

詳解多云架構下的JAVA微服務技術解析

另外一個開源解決方案是部分集成云產商提供的組件,盡可能多的使用云產商的基礎設施。 比如選擇 Spring Cloud 微服務解決方案, 可以使用 spring-cloud-huawei, spring-cloud-alibaba 等云產商提供的擴展,使用云上的基礎設施。

詳解多云架構下的JAVA微服務技術解析

下面對開源解決方案的評估點做一個總結:

1. 只需要維護一套代碼和熟悉一個開發框架,多云運行。不同云的運行體驗存在差異,可以部分使用云廠商的中間件。 如果其他云沒有對應的中間件,需要自行安裝和維護中間件。

2. 微服務框架選型之前,需要考慮“基礎設施”是否也開源。比如微服務基礎設施最重要的中間件“配置中心”、“注冊中心”和“應用網關”。開源可獲得性是一套代碼,多云運行的前提。

適配多供應商開發框架

每個云產商都存在一個主打的微服務開發框架, 使用主打微服務開發框架能夠最好使用云產商提供的微服務基礎設施。 為了在不同的云上, 獲得最佳的微服務管理能力,需要盡可能使用對應云的主打框架。 但是維護多套代碼是困難的。 適配多供應商的開發框架, 需要對核心業務做好分離,避免重復開發,然后將適配層做薄,只實現簡單適配,降低開發難度。 大部分 JAVA 微服務開發框架都支持 Spring, 因此可以采用下面的設計模式,實現一套核心代碼,編譯成多個云產商開發框架的可執行程序的多云版本。

詳解多云架構下的JAVA微服務技術解析

上圖是一個微服務的內部結構,一個微服務可能包含如下幾個目錄:

* application-core

* application-runtime-servicecomb

* application-runtime-hsf

下面對適配多供應商開發框架方案的評估點做一個總結:

1. 需要做好業務抽象,并熟悉多個開源微服務開發框架,相對于開源自建方案維護成本高。

2. 不需要考慮自行安裝和維護基礎中間件的問題,云廠商自己的微服務框架,一般針對這個框架提供了各種中間件支持,使用和接入開發成本低。

3. 這種方案是優秀代碼架構設計。在開源方案中,也建議做好核心業務邏輯分離和接口抽象,每個方案適配不同云廠商非微服務基礎設施(比如數據庫、對象存儲、EI等功能)也都是需要的。

以上就是詳解多云架構下的JAVA微服務技術解析的詳細內容,更多關于多云架構下的JAVA微服務技術解析的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
主站蜘蛛池模板: 午夜mm131美女做爰视频 | 亚洲六月丁香六月婷婷蜜芽 | 草久视频在线 | 女人又黄的视频网站 | 国产日韩在线观看视频 | 亚洲综合国产一区在线 | 国产性自爱拍偷在在线播放 | 久草网站 | 国产高清自拍视频 | 国产欧美久久久精品影院 | 亚洲高清中文字幕一区二区三区 | 精品老司机在线视频香蕉 | 亚洲www.| 国内久久久 | 亚洲国产成人精品区 | 一级欧美一级日韩片 | 手机看片福利视频 | 刺激一区仑乱 | 99ri在线精品视频在线播放 | 亚洲男人网 | 成人免费视频软件网站 | 91黑丝国产线观看免费 | 美女在线看永久免费网址 | 九九全国免费视频 | 国产精品伦理久久久久 | 午夜爽爽性刺激一区二区视频 | 男女免费视频网站 | 女仆色在线 | 国产一区二区三区久久 | 精品国产一区二区三区免费看 | 久久久久亚洲视频 | 亚洲永久中文字幕在线 | 国产波多野结衣中文在线播放 | 6一10周岁毛片免费 6一12呦女精品 | 久久99亚洲精品久久久久网站 | 久久手机在线视频 | 亚洲三级精品 | 日韩在线小视频 | 国产欧美一区二区三区观看 | 99re热精品视频国产免费 | 日本网址在线观看 |