17.消息队列:秒杀时如何处理每秒上万次的下单请求?学习笔记

####高并发设计的三个目标 性能,可用性和高扩展性 高并发的一般都是查询,读多写少。 消息队列在秒杀场景下的作用: ###1.削去秒杀场景下的峰值写流量 四个字概括就是:削峰填谷 也就是说它可以削平短暂的流量高峰,虽说堆积会造成请求被短暂延迟处理,但是只要我们时刻监控消息队列中的堆积长度,在堆积量超过一定量时,增加队列处理机数量来提升消息的处理能力就好了,而且秒杀的用户对

- 阅读全文 -

php实现插入排序算法

参考文档:维基百科```插入排序``` 插入排序介绍: 1.从第一个元素开始,该元素可以认为已经被排序(sorted arr,这也是为啥) 2.取出下一个元素,在已经排序的元素序列中从后向前扫描 3.如果该元素(已排序)大于新元素,将该元素移到下一位置 4.重复步骤3,直到找到已排序的元素小于或者等于新元素的位置 5.将新元素插入到该位置后 6. 重复步骤2~5 php的算

- 阅读全文 -

PHP 代理模式 详解

#### 代理 代理即是代表处理。在法律上,是指代理人、组织或者其他身份,于获得代理权限内,以授权方的(代理)名义向第三者代为处理的意思表示,对授权方直接发生效力的行为。而代理依其发生的原因又可以分为法定代理与意定代理。 代理人就是相当于中介。生活中的代理商,代理人等概念,就是代表处理一些事情。那么在编程的思想中,也是通过一个对象去访问另外一个对象。 ####♥代理模式定义

- 阅读全文 -

(一)数组:为什么很多编程语言中数组都从0开始编号?

##为什么数组要从0开始编号(索引),而不是从1开始(⊙o⊙)? 从1开始不是更符合人类的思维习惯? #####如何实现随机访问? 关于数组的定义: 数组(Array)是一种**线性表**数据结构。它用一组**连续的内存空间**,来存储一组具有相同类型的数据。 对于数组定义的几个关键字,来了解一下数组的概念 第一:线性表(Linear List)。就是数据排成像一条线一样的结构。每个线性

- 阅读全文 -

(七)Lambda架构:Twitter亿级实时数据分析架构背后的倚天剑

###Lambda架构 案例需求:用户端广告精准投放,拥有海量的用户网站访问行为。根据用户的行为分析建立一个模型,然后根据这个模型来投放用户洗好的广告。 我们知道,批处理架构和流处理架构的各自特点: 批处理架构:高延迟性的,数据的处理量很大,数据都是PB,EB,ZB的级别,显然,案例需求这个批处理架构不合适处理这个场景 流处理架构:如果用流处理架构,只能使用现在的访问信息,对于用户

- 阅读全文 -

DevOps详解

参考文档的地址: 1.```https://zh.wikipedia.org/wiki/DevOps```

- 阅读全文 -