概述
近年来互联网金融蓬勃发展,在借贷、保险、股权等领域涌现出一大批互联网与金融场景相结合的创新产品,如花呗、借呗,微粒贷等众多服务。
为满足日益剧增的用户增长和交易量,往往需要在架构设计时,考虑高并发的特性。
高并发的指标
我们通常会通过很多方式来衡量说明一个高并发系统的架构设计,如:
- 通过设计来保证系统能够同时处理很多的事情,比如亿级并发支付交易,百万级并发保单下单等。
- 低响应时间:系统对请求作出的响应时间维持在一个较低的水平,通常不超过3秒。例如系统处理一个HTTP请求需要200ms,这个200ms就是系统响应时间。
- 高吞吐量:单位时间内处理的请求量。
- QPS:每秒响应请求数。在互联网领域,这个指标和吞吐量区分的没那么明显。
- TPS:每秒处理的事务数。
- 并发用户数:同时承载正常使用系统功能的用户数量。例如一个即时通讯系统,同时在线量一定程度上代表了系统的并发用户数。
提升系统的并发能力
1、提升系统的单机处理能力
垂直扩展的方式有两种:
- 增强单机硬件性能,例如:增加CPU的核数,由8核扩展到16核;升级更好的网卡,由千兆网卡升级到万兆网卡;升级更好的硬盘,如SSD;扩展硬盘的容量,如由500G升级到10T;扩展系统内存,如由16G升级到64G等。
-
提升单机的架构性能,例如:
引入缓存机制Redis来减少IO次数;
引入消息队列机制,来削峰填谷,用异步处理来增加单服务的吞吐量;
用轻量级架构来减少服务的处理时间等。
2、提升系统的横向扩展能力
系统单机的处理能力总是有极限的,我们可以通过增加服务器数量的方式,来线性扩充系统的性能。