本站使用了 Pjax 等基于 JavaScript 的开发技术,但您的浏览器已禁用 JavaScript,请开启 JavaScript 以保证网站正常显示!

企业高并发案例思想

一、企业案例:

(1)门户(大网站)极端工作案例:大并发写入案例(抢红包、微博)

遇到高并发、大数据量“写”数据的极端情况时,会把数据先写到内存中,积累一定的量后,再定时或者定量地写到磁盘中(减轻磁盘的压力,以减少磁盘I/O(Input/Output)占用率,最终还是会把数据加载到内存中再对外提供访问,目的还是减轻对磁盘的访问压力。
相关流程:
大并发-极端环境.jpg
这种状况的特点如下:

  • 优点是写数据到内存时,性能高、速度快(如微博,微信,SNS(社交网),秒杀)。
  • 缺点是可能会丢失一部分在内存中还没来得及存入磁盘的数据。

解决数据丢失的方法:

  • 服务器主板上安装蓄电池,在断电当季瞬间完成把内存数据写回磁盘。
  • UPS(一组蓄电池)不间断供电(持续供电10分钟,IDC数据中心机房-UPS1小时)。UPS(Uninterruptible Power System/Uninterruptible Power Supple),即不间断电源,是将蓄电池(多为铅酸免维护蓄电池)与主机相连,通过主机逆变器等模块电路将直流电转换为市电的系统设备。
  • 选双路电的机房,使用双电源、分别接不同路的点,以及将服务器放到不同的机柜,将企业业务放置到不同的地区(异地)。
  • 柴油发机+油罐,一般机房会和附近的加油站签订紧急供油协议。

(2)中小型企业案例

对于并发访问(可简单理解为同时访问数量)不是很大、数据量也不是特别大的网站,若是读多写少的业务,会先把数据写入磁盘,然后通过程序把写道磁盘的数据读入到内存里,再通过内存读内存提供访问服务。绝大多数企业的业务逻辑还是读请求(例如:浏览页面)多余写请求(例如:写文章、发朋友圈)的。

读取大于写入.jpg

企业Linux面试题:计算机操作系统中buffer和cache什么区别?

数据写入缓冲区称为buffer

数据-->内存(buffer)-->磁盘。
定义:将数据写入内存里,这个数据的内存空间在Linux系统里一般被称为缓冲区(buffer),

目的:
在高并发写入的环境下,为了提高写操作性能,数据在写入最终介质下一层介质前会合并存放在缓冲区中,这样会增加数据持久写的延时,因为第一次写入缓冲区后,在向下写入数据之前,还要等待后续写入,以便凑够数据或者定时写入到永久存储介质中。
buffer中的数据,还被称为 “脏数据”。

数据读取缓存区称为cache

读取<--内存(cache)<--磁盘
定义:从内存里读取数据,这个存数据的内存空间在Linux系统里称为缓存区(cache),
目的:在高并发读取的环境下**操作系统用缓存(cache)提高文件系统的读性能和内存分配性能,应用程序使用缓存也是为了提升读访问效率。将将经常访问的操作结果保存在缓存中可备随时使用,而非总是执行读磁盘取数据等开销较高的操作。

buffer(写:缓存) & cache(读:缓存) 其本质都是内存,只是用法不同。

转载请先获得授权

一言:缓存无处不在,无论是电脑硬件、操作系统,还是企业网站集群及其他业务系统。


 继续浏览关于 的文章

 本文最后更新于 2019/09/02 04:03:29,可能因经年累月而与现状有所差异

 引用转载请注明:咬定面包不放松 > Linux > 企业高并发案例思想

您直接访问了本站,莫非记住了域名?