中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

微服務測試的本質是什么

發布時間:2021-10-25 16:55:00 來源:億速云 閱讀:193 作者:iii 欄目:開發技術

這篇文章主要講解了“微服務測試的本質是什么”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“微服務測試的本質是什么”吧!

微服務概念

微服務英文名稱Microservice,微服務架構模式就是將整個Web應用組織為一系列小的Web服務。這些小的Web服務可以獨立地編譯及部署,并通過各自暴露的API接口相互通訊。它們彼此相互協作,作為一個整體為用戶提供功能,卻可以獨立地進行擴展。

要點

  • 微服務的基本思想在于考慮圍繞著業務領域組件來創建應用;

  • 微服務主要框架包括:Dubbo、Spring Cloud、 Istio ;

  • 對于互聯網談到微服務架構一定會談到Devops即開發測試和部署運維的一體化;

  • 微服務簡化了開發,它將創建復雜系統的任務切分為數十乃至上百個小服務,這些小服務易于被小型的軟件工程師團隊所理解和修改。但是微服務并未真正地消除復雜性,而是將復雜性遷移到對大量服務的連接、管理和監控上;

  • 微服務與SOA,微服務是SOA發展出來的產物,它是一種比較現代化的細粒度的SOA實現方式;

傳統服務與微服務的區別

微服務測試的本質是什么

大家可以看到,傳統服務是所有的功能都部署在一臺機器上(上圖左),通過增加服務器數量來擴容!而微服務是以業務為單位進行部署,不同的業務部署在不同的服務器上,業務使用頻繁的還可以使用更多的資源進行部署(上圖右側,橘黃色部署了5個單元,而玫紅色只部署了一個單元),這樣就可以更合理的利用資源了!

傳統設計與微服務在數據庫方面設計的區別

微服務測試的本質是什么

大家可以看到傳統服務的所有功能對應一個DB (上圖左),而微服務可以根據不同的業務設計不同的DB (上圖右,可以一個業務對應一個獨立的DB)

微服務架構設計核心

1:我們把整個系統根據業務拆分成幾個子系統。

2:每個子系統可以部署多個應用,多個應用之間使用負載均衡

3:需要一個服務注冊中心,所有的服務都在注冊中心注冊,負載均衡也是通過在注冊中心注冊的服務來使用一定策略來實現。

4:所有的客戶端都通過同一個網關地址訪問后臺的服務,通過路由配置,網關來判斷一個URL請求由哪個服務處理。請求轉發到服務上的時候也使用負載均衡。

5:服務之間有時候也需要相互訪問。例如有一個用戶模塊,其他服務在處理一些業務的時候,要獲取用戶服務的用戶數據。

6:需要一個斷路器,及時處理服務調用時的超時和錯誤,防止由于其中一個服務的問題而導致整體系統的癱瘓。

7:還需要一個監控功能,監控每個服務調用花費的時間等

SpringCloud

Spring  Cloud是基于SpringBoot的一整套實現微服務的框架。他提供了微服務開發所需的配置管理、服務發現、斷路器、智能路由、微代理、控制總線、全局鎖、決策競選、分布式會話和集群狀態管理等組件。

官網:https://springcloud.cc/

特點:

  • 分布式/版本化配置

  • 服務注冊和發現

  • 路由

  • service - to - service調用

  • 負載均衡

  • 斷路器

  • 分布式消息傳遞

SpringCloud包括的主要組件如下圖:

微服務測試的本質是什么

一個Spring Cloud 工程的pom配置文件如下,大家可以簡單的理解為在SpringCloud

工程的pom.xml中,你需要什么功能,把它直接引入工程就可以了

微服務測試的本質是什么

在這里由于我們主要介紹微服務概念,所以就不過多解釋springcloud相關的開發內容了。

微服務測試

  • 前端UI

與傳統測試沒有區別,因為你只做功能那么你感受不到架構的變化!

  • 服務端

微服務通常使用通過HTTP的REST來暴露,因此微服務的測試等價于接口測試。對微服務提供的接口進行功能、性能、安全測試,具體測試方法如下:

1.通過構建請求調用各個微服務接口,可以通過編碼或者工具模擬的方式完成。

編碼:python(unittest+requests);Java(junit4+httpclient)

工具模擬:jMeter、soupUI、postman等

2.請求的驗證:除了驗證接口的返回值外,還要關注負載均衡(請求是否分發到多點應用)

3.監控:通過工具 SpringCloud Sleuth、 Turbine、Prometheus進行監控

4.日志:通過ELK( ElasticStack )來集中化管理日志

  • 重點:

微服務架構下,既需要保障各服務內部每個模塊的完整性,又需要關注模塊間、服務間的交互。

  • 難點:

1.關聯性:微服務通常情況下會與多個微服務進行交互。當某服務發生變化時,會直接影響到依賴的其他服務。

2.可靠性:為了盡可能降低微服務間通信對網絡情況的高度依賴,降低因網絡不穩定引起的故障率,設計微服務架構時會設計隔離機制。

3.數據一致性:微服務是基于分布式系統設計的,這就需要考慮分布式系統數據一致性的問題。

感謝各位的閱讀,以上就是“微服務測試的本質是什么”的內容了,經過本文的學習后,相信大家對微服務測試的本質是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

吕梁市| 余干县| 宜良县| 建始县| 乌恰县| 古浪县| 山阳县| 德安县| 葵青区| 枣阳市| 福鼎市| 崇左市| 邢台市| 珲春市| 富宁县| 冕宁县| 云林县| 承德县| 开原市| 莱芜市| 嘉鱼县| 民权县| 浠水县| 岱山县| 灌南县| 明水县| 页游| 西青区| 曲靖市| 上饶县| 北票市| 堆龙德庆县| 武平县| 大荔县| 明光市| 南郑县| 宁海县| 秭归县| 沙河市| 长汀县| 美姑县|