tps 数据库写并发衡量_硬核干货!抗住百万高并发的 6 个关键技术!
一、什么是高并發
高并發(High Concurrency)是互聯網分布式系統架構設計中必須考慮的因素之一,它通常是指,通過設計保證系統能夠同時并行處理很多請求。
高并發相關常用的一些指標有響應時間(Response Time),吞吐量(Throughput),每秒查詢率QPS(Query Per Second),每秒事務處理量TPS(Transaction Per Second),并發用戶數等。
響應時間:系統對請求做出響應的時間。
吞吐量:單位時間內處理的請求數量。
QPS:每秒響應查詢請求數。
TPS:每秒響應事務請求數。
并發用戶數:同時承載正常使用系統功能的用戶數量。
二、提升系統的并發能力
互聯網分布式架構設計,提高系統并發能力的方式,方法論上主要有兩種:垂直擴展(Scale Up)與水平擴展(Scale Out)。
(1)垂直擴展:提升單機處理能力。垂直擴展的方式又有兩種:
1)增強單機硬件性能,例如:增加CPU核數如32核,升級更好的網卡如萬兆,升級更好的硬盤如SSD,擴充硬盤容量如2T,擴充系統內存如128G;
2)提升單機架構性能,例如:使用Cache來減少IO次數,使用異步來增加單服務吞吐量,使用無鎖數據結構來減少響應時間;
(2)水平擴展:只要增加服務器數量,就能線性擴充系統性能。水平擴展對系統架構設計是有要求的,如何在架構各層進行可水平擴展的設計是本文重點討論的內容。
1、系統集群化部署+負載均衡
(1)添加負載均衡層,將請求均勻打到系統層。
(2)系統層采用集群化多活部署,扛住初步的并發壓力。
2、數據庫分庫分表+讀寫分離+分布式數據庫
(1)分庫分表:水平拆分、垂直拆分(弊端太多如關聯查詢)。
(2)讀寫分離:主庫寫,從庫讀(數據同步延遲)。
(3)分布式數據庫:TiDB(HTAP、兼容MySQL協議、水平擴展、分布式事務)
3、緩存
(1)本地緩存:本地磁盤或內存。
(2)分布式緩存:用緩存集群抗住大量的讀請求。
(3)預緩存,多級緩存。
4、消息中間件
(1)系統解耦,數據同步。
(2)請求異步化處理,實現削峰填谷的效果。
5、應用拆分(微服務)
(1)按業務拆分、減少耦合。
(2)分級部署,擴容縮容。
(3)應用資源隔離。
6、CDN(內容分發網絡)
(1)盡可能避開互聯網上有可能影響數據傳輸速度和穩定性的瓶頸和環節, 使內容傳輸的更快更穩定。
(2)CDN能夠實時地根據網絡流量和各節點的鏈接,負載狀況以及到用戶的距離和響應時間等綜合信息將用戶的請求重新導向離用戶最近的服務節點上。
作者:阿凡盧
出處:http://www.cnblogs.com/luxiao...
如有錯誤或其它問題,歡迎小伙伴留言評論、指正。如有幫助,歡迎點贊+轉發分享。
我是民工哥,一個愛折騰的IT技術老司機,歡迎關注我,我們一起學習,共同成長!!
總結
以上是生活随笔為你收集整理的tps 数据库写并发衡量_硬核干货!抗住百万高并发的 6 个关键技术!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python动态映射_Python Dj
- 下一篇: calender获取日期前几月_java