高并发简单介绍

一、什么是高并发
高并发(High Concurrency)是互联网分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计保证系统能够同时并行处理很多请求。
 
高并发相关常用的一些指标有响应时间(Response Time),吞吐量(Throughput),每秒查询率QPS(Query Per Second),并发用户数等。
 
响应时间:系统对请求做出响应的时间。例如系统处理一个HTTP请求需要200ms,这个200ms就是系统的响应时间。
吞吐量:单位时间内处理的请求数量。
 
并发用户数:同时承载正常使用系统功能的用户数量。例如一个即时通讯系统,同时在线量一定程度上代表了系统的并发用户数。
 
二、如何提升系统的并发能力
  1. 垂直扩展(Scale Up):提升单机处理能力
  • 增强单机硬件性能
  • 提升单机架构性能
  1. 与水平扩展(Scale Out)
  • 增加服务器数量
 
加锁
悲观锁,
悲观的认为他会被修改,因此, 在整个数据处理过程中,将数据处于锁定状态。
正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度。
 
乐观锁(Optimistic Locking)
相对悲观锁而言,乐观锁机制采取了更加宽松的加锁机制。悲观锁大多数情况下依靠数据库的锁机制实现,以保证操作最大程度的独占性。但随之
而来的就是数据库性能的大量开销,特别是对长事务而言,这样的开销往往无法承受。比如一个金融系统,当某个操作员读取用户的数据,并在读出的用户数 据的基础上进行修改时(如更改用户帐户余额),如果采用悲观锁机制,也就意味着整个操作过程中(从操作员读出数据、开始修改直至提交修改结果的全 过程,甚至还包括操作员中途去煮咖啡的时间),数据库记录始终处于加锁状态,可以想见,如果面对几百上千个并发,这样的情况将导致怎样的后果。 乐观锁机制在一定程度上解决了这个问题。
乐观锁,大多是基于数据版本 (Version )记录机制实现
 
 

posted @ 2019-06-14 21:28  lijiyang  阅读(285)  评论(0编辑  收藏  举报