1. 程式人生 > >關於ribbon的小測試

關於ribbon的小測試

本文主要目的是解決實際工作中遇到問題,如何說服老闆做cloud微服務專案!!!

  現在社會資料說話,對一個外行講再多的cloud的優勢,還不如來個圖形對比實在,本機測試,讓資料說話

關於cloud搭建這裡不講,大家可以參考官網SPRING.IO,或者找論壇部落格

具體操作流程如下:

第一步:

 弄1個服務複製成2個,修改埠8016,8017,同時啟動相同服務,註冊到註冊中心(這裡我就用一個,沒有做分散式)

第二步:

  弄1個註冊中心

第三步:

新建一個test專案,註冊到註冊中心,新增ribbon熔斷配置

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
</dependency>

在啟動類裡新增負載均衡配置

@LoadBalanced
@Bean
RestTemplate restTemplate() {
    return new RestTemplate();
}

新建一個controller(由於我的服務需要token請求頭,不是重點大家可以忽略)

 

直接用註釋部分

第四步

上面如何配置正確,同時啟動2個服務端,1個註冊中心,一個客戶端test,用postman傳送個請求,路由分發功能正確即成功完成配置部分

第五步

安裝jmeter,安裝操作步驟可以找其他資料,這裡不講;安裝jvisualvm,檢查JVM記憶體的圖形化工具

直接上300併發量測試

結果如下:

   分散式

單臺

單臺

分散式

只需看2點對比就可以看出。相同併發量中,單臺出現err比例很高(部分由於本人機子比較爛的原因,但分散式也是在這個上面),後續的吞吐量沒有意義;同樣JVM單臺佔用CPU達到了40以上,而分散式一臺的值並沒有到20(2臺加起來沒到40),足以說明分散式部署的好處:減少JVM和伺服器壓力,增大最大壓測量,提高併發數!!