成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一文搞定微服務測試本質

開發 架構
最近幾年微服務架構越來越火爆,逐漸被企業所采用。隨著軟件架構的變化,對應的軟件測試策略需要作何調整呢?在這里我來先介紹一下微服務的相關概念以及微服務的主流框架.

 最近幾年微服務架構越來越火爆,逐漸被企業所采用。隨著軟件架構的變化,對應的軟件測試策略需要作何調整呢?在這里我來先介紹一下微服務的相關概念以及微服務的主流框架SpringCloud,讓大家對微服務有一個整體的認識,然后我再對如何進行微服務測試進行概要講解。相信大家認真閱讀本文后,對服微務一定會有從0到1的突破!

 

[[349156]]

 

微服務概念

微服務英文名稱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.數據一致性:微服務是基于分布式系統設計的,這就需要考慮分布式系統數據一致性的問題。

 

責任編輯:姜華 來源: 今日頭條
相關推薦

2022-09-21 16:56:16

設計模式微服務架構

2023-11-21 08:37:09

2023-09-02 21:27:09

2022-11-09 09:15:31

ProtoBufGo語言

2020-03-26 09:18:54

高薪本質因素

2019-09-23 10:51:14

JavaJava虛擬機Linux

2024-01-09 08:24:47

JMM核心線程

2021-03-28 18:40:02

LinuxWindowsJava

2021-10-25 16:01:01

Linux設備樹字符串

2021-08-13 05:50:01

ContainerdDockerKubernetes

2019-10-12 08:59:36

軟件DevOps技術

2021-10-06 20:23:08

Linux共享內存

2021-10-29 11:30:31

補碼二進制反碼

2022-08-17 18:25:37

Java分布式搜索引擎

2021-08-31 07:02:20

Diff算法DOM

2022-10-21 17:24:34

契約測試定位

2024-06-27 10:50:01

2018-09-14 09:23:03

微服務服務集成

2021-04-02 06:17:10

大數加減乘除數據結構算法

2025-04-07 08:20:00

ORMPython代碼
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 黄色一级毛片 | 国产一级在线观看 | 天堂资源视频 | 一区二区亚洲 | 亚洲天堂免费 | 精品一区二区三区在线观看 | 日韩av在线一区二区 | 成人在线观看网站 | aaa综合国产 | 亚洲成人毛片 | 国产精品国产成人国产三级 | 国产电影一区二区在线观看 | 日韩精品在线一区 | 视频一区在线观看 | 91porn在线| 国产96在线 | 国产一区二区久久 | 国产精品日韩一区二区 | www国产精品| 国产欧美在线播放 | 成人3d动漫一区二区三区91 | 国产高清免费 | 久久视频精品 | 精品国产91亚洲一区二区三区www | 精品久久久久久18免费网站 | 久久久久久久久久一区 | www亚洲精品 | 国产美女免费视频 | 欧美精品tv| 久久精品视频12 | 99精品国产一区二区三区 | 亚洲高清在线 | 精品欧美一区二区中文字幕视频 | 欧美性影院 | 成人 在线| 91在线一区 | 国产成人av在线播放 | 九九热精品免费 | 久久免费资源 | 国产成人99久久亚洲综合精品 | 久久久性色精品国产免费观看 |