一次請求對應一次返回,QPS累加1,那麼若是一次請求沒有返回或者是異步調用,QPS是否要累加?更簡單點,當接口沒有返回值時,我是否能夠無止境的調用,接口的極限處理能力是多少?
咱們一般都說異步的性能要比同步好,單從流程上分析,少了返回信息處理時間,確定是可以提高接口性能,可是若是你只想到這一點說明你仍是不理解高併發。
一次請求除了業務處理須要耗時,數據返回的時候也是要耗時的,途徑的每個網絡設備均可能成爲高併發的功能要素。
一般咱們說作高併發設計,實際上是在解決業務在必定流量的前提下的業務可用性性問題。當你的QPS是100,業務接口可用性爲4個9,當QPS提高到1000,業務接口可用性降低爲3個9,當QPS是10000,業務接口可用性降低爲2個9,當QPS是100000,業務接口可用性降低爲1個9。哈哈如今就很嚴重了,由於每10次調用就會有1次失敗,這個體驗是很是差的。固然這個時候並不能說明咱們的業務接口是由於不可用形成的服務等級降低,那是由於流量上來了,由於你的接口在正常流量下服務等級是很是高的。這個時候若是你不想增長機器投入,就得限流和降級,讓部分請求直接失敗或者友好的提示。哈哈若是你的業務是須要達到金融級別的安全等級,限流和降級是不能從根本上解決問題的,這個時候你只能向老闆申請添加機器,加大硬件投入,經過集羣來提高QPS。固然並非全部的業務均可以經過加機器來解決問題的,有些須要應用本身進行業務邏輯優化,這個時候就須要經過業務架構來梳理業務邏輯,並優化業務邏輯來確保服務邊界合理,無狀態等,來確保水平擴展也能比較明顯的提高性能。
因此說若是你能從一次簡單的請求可以分析出這麼多與高併發場景和要素,就說明你是真的懂高併發,並可以比較快的解決一些高併發的問題。
遊俠——高級技術專家 架構師 業務負責人
文能執筆論天下,武能拿刀切蛋糕
若是以爲喜歡做者的觀點,歡迎關注並點贊,謝謝!
本文分享自微信公衆號 - 架構師玄學之路(andy_aty)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。安全