并发,并行,高并发相关笔记。

1 篇文章 0 订阅
并发与并行
 并发:多个任务,同一时间段同时发生了,并发会抢占资源,宏观上多个程序同时运行。
 并行:多个任务,同一时间点同时发生了,并行不会抢占资源,真正的在同时运行。
 并发充分利用电脑处理器的每一个核以达到最高性能。
 只有在多cpu的情况下才会有并行,否则看似同时运行的都是并发运行。

举例:
两人在吃饭,你吃饭过程中:吃面,吃菜,喝水。这三件事属于并发执行,你在吃饭中看似同时执行,实际在来回切换。
两人在吃饭,我们两个在同一时间:吃面,吃菜,喝水。这属于并行执行,因为两人之前互不影响

什么高并发
高并发互联网项目中考虑因素之一,通常指在统一时间并行处理很多请求。
高并发 常用指标:响应时间,吞吐量,每秒查询率,并发用户数等。

响应时间: 系统对每个请求做出的响应时间。例如:系统处理一个http请求需要200ms,这200ms就是响应时间
吞吐量:在某一时间内的请求数量
每秒查询率QPS:每秒响应请求数,互联网中这个指标和吞吐量区别明显不大
并发用户数:同时承载正常使用系统功能的用户数量,同时在线量一定程度上代表了系统的并发用户数

如何提高并发的能力
提高并发的方法主要两种:垂直扩展(Scale up)和水平扩展(Scale out).

垂直扩展:主要是提升单机硬件性能,或者提哼单机架构性能。来做到提高并发性,但是单机有极限。互联网中推荐用的是水平扩展

互联网中的架构分层:
1.客户端层:比如浏览器browser或者手机应用app。
2.反向代理层:系统入口,反向代理。
3.站点应用层:实现核心应用逻辑,返回html或者json。
4.服务层:如果实现了服务化,就有这一层。
5.数据-缓存层:缓存加速访问存储。
6.数据-数据库层:数据库固化数据存储。
互联网中的和水平扩展方式:
1------反向代理的水平扩展:

2------站点层的水平扩展:

3------服务层的水平扩展:

4------数据层的水平扩展:

互联网分层架构中,各层次水平扩展的实践又有所不同:
(1)反向代理层可以通过“DNS轮询”的方式来进行水平扩展;
(2)站点层可以通过nginx来进行水平扩展;
(3)服务层可以通过服务连接池来进行水平扩展;
(4)数据库可以按照数据范围,或者数据哈希的方式来进行水平扩展;

各层实施水平扩展后,能够通过增加服务器数量的方式来提升系统的性能,做到理论上的性能无限。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值