偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

為什么在微服務架構下,服務網關和數據庫不能部署在虛擬機上

新聞 前端
最近開發(fā)了一基于springcloud的微服務架構的門戶項目,因為客戶對系統(tǒng)性能有要求,所以作者對系統(tǒng)的一些api接口進行了大量壓力測試。

[[270987]]

最近開發(fā)了一基于springcloud的微服務架構的門戶項目,因為客戶對系統(tǒng)性能有要求,所以作者對系統(tǒng)的一些api接口進行了大量壓力測試。在壓測過程中,發(fā)現(xiàn)接口的性能瓶頸之一是服務網關和數據庫部署在虛機上,所以本文將分享內容分為兩部分:

  1. 性能壓測結果說明
  2. 為什么服務網關和數據庫不能部署到虛機

性能壓測結果說明

性能壓測思路是從軟硬件負載 f5,nginx,到容器化平臺k8s、docker、zuul網關,再到數據存儲es、mysql、mongodb、redis,進行全面測試。

性能壓測匯總

為什么在微服務架構下,服務網關和數據庫不能部署在虛擬機上

部分接口壓測結果

為什么在微服務架構下,服務網關和數據庫不能部署在虛擬機上

其中值得關注的是,用一臺zuul網關節(jié)點和一個業(yè)務節(jié)點壓測空接口,發(fā)現(xiàn)一個有意思現(xiàn)象:

空接口壓測不走zuul,一個業(yè)務節(jié)點tps能達到32000,走zuul網關,一個業(yè)務節(jié)點空接口tps只有11000,性能損耗64%。

當時就感覺zuul網關在我心中高大的形象碎了一地,但是沒辦法,性能不達標必須要優(yōu)化。所以樓主查了很多資料,也問過一些docker和k8s的容器化平臺大牛,總結出兩點經驗:

  1. docker和k8s部署到虛機上,zuul網關性能衰減40%左右
  2. 數據存儲es、mysql、mongodb、redis不能用虛機部署

所以我向公司申請物理機,繼續(xù)性能壓測,當然這不是重點,重點是接下來要講的:為什么服務網關和數據庫不能部署到虛擬機上。

為什么服務網關和數據庫不能部署到虛擬機

虛擬機的特點

  1. 運行在物理機上
  2. 有自己的虛擬網絡
  3. 多臺虛擬機共享物理機資源
[[270988]]

io開銷

我們知道,不管虛機上部署了多少個應用,一旦涉及到數據的存儲,如果采用虛機部署數據庫,會帶來不必要的網絡io開銷。因為虛擬機在調度大量物理的cpu和內存、特別是磁盤IO時,必須經過虛擬機和物理機兩層網絡io讀寫開銷操作,是非常耗系統(tǒng)性能的。

一般情況下,使用虛擬機部署應用,其性能衰減約20%左右,這不是優(yōu)化代碼能解決的。

共享物理機資源

因為虛擬機在cpu資源、網絡等方面共享物理機資源,虛擬機之間會存在競爭物理機資源,造成程序不穩(wěn)定情況。

docker容器部署

更要命的是,如果數據庫和zuul網關部署到容器(實質也是虛擬機)里,那么網絡io讀寫變成docker(虛擬機)到虛機,再到物理機三層訪問,無形之中又增加了io讀寫性能開銷。尤其是對于請求吞吐量要求很高的服務網關zuul,是不能容忍的。

總結

所以虛機對于IO密集型以及對延遲要求很高的業(yè)務場景不合適。

另外,早期的時候,作為一名架構師需要盡早的規(guī)劃好服務網關和數據庫的物理部署方式以及軟硬件性能要求。

責任編輯:張燕妮 來源: 今日頭條
相關推薦

2024-10-29 08:44:18

2020-03-27 08:46:51

微服務服務網關

2017-09-04 16:15:44

服務網關架構

2021-09-08 11:25:45

KubernetesAPISIXLinux

2022-09-01 08:17:15

Gateway微服務網關

2024-08-05 10:03:53

2021-10-21 09:10:34

微服務架構數據

2022-05-11 08:22:21

服務網關架構

2022-06-04 15:28:42

微服務架構編程語言

2017-09-09 23:15:20

Spring Clou微服務架構路由

2020-10-10 10:37:54

微服務架構技術API

2020-04-29 14:33:49

微服務網關Kong

2019-07-30 15:59:06

數據庫技術SQL

2017-09-15 23:29:53

Spring Clou微服務架構過濾器

2015-07-17 11:11:20

虛擬化基礎架構服務

2022-08-08 10:09:58

服務網格架構

2009-03-26 19:56:31

虛擬化Vmware虛擬機

2009-03-27 09:04:25

GoogleAndroid移動OS

2023-01-11 16:22:07

2023-04-03 08:51:06

點贊
收藏

51CTO技術棧公眾號