PHP 秒杀系统简介与环境准备
Posted 焱萱Crystal
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP 秒杀系统简介与环境准备相关的知识,希望对你有一定的参考价值。
秒杀系统特点
-
人多商品数量少 -
时间短流量高 -
外挂机器(黄牛)
技术分析
-
瞬时高并发的处理能力 -
多层次分布式处理能力 -
人机交互与对抗
系统环境搭建
技术选型分析
1、基础服务
-
Linux + nginx + php + mysql + Redis -
选择 Linux
而不是 Windows:免费、开源
,黑盒的东西相对少。 -
选择 Nginx
而不是 Apache :出于性能考虑,首先是网络的处理 Nginx 能够突破1 万个,10 万个甚至 100 万个链接
,能够让很多位用户的请求进来而不宕机
。而 Apache 的用户请求数量为 100 个,200 个,或者超过 500 个和 1000 个的时候,就很不稳定甚至会出现宕机的情况。 -
选择 Redis
缓存而不是 Memcached 缓存:是因为 Redis 的数据结构相对比较多
,Memcached 比较单一。
2、CDN(Content distribution network:内容分发网络),智能 DNS
-
选择原因:CDN 可以实现 分布式缓存
,并且支持全国多节点
。 -
CDN 的基本组成:由源站及其下的多个节点组成。将这些节点的 IP 存放到源站的列表里,然后再分配到全国各地 CDN 服务的缓存服务器的代码配置文件里。因为 只有源站会生成内容
,而所有的节点只能缓存内容
不能生成内容。 -
CDN 的工作原理:用户发起一个请求,首先会先找到最近的一个 CDN 服务器,这个服务器会优先从本地的缓存中获取内容,如果本地没有用户需要的内容,则会先从源站获取内容,接着本地服务器缓存起来,然后再发给用户。 -
智能 DNS 可以实现 多线路接入
。 -
智能 DNS 原理:可以在后台配置很多个 IP,DNS 有自己的一套系统可以找到对应 IP 的地理位置以及其运营商的信息。 -
DNS 工作原理:首先用户请求 DNS 解析时,DNS 会拿到用户的 IP 信息,接着会分析出该用户处于哪一个地区,属于哪一种网络类型,最后再匹配一个离用户最近的网络地域的服务器。 -
智能 DNS 的作用:分析 用户
的 IP,分析网络节点
服务器的 IP,然后智能对照
,能够给用户分配到最适合的网络服务。
3、负载均衡 LVS 和大型 Web 服务集群
-
选用 LVS:因为 LVS 是运行在网络层的负载均衡服务,所以在处理 网络连接
方面是比较高效稳定
的,并且 LVS 支持更大规模的网络集群
和更大量的网络请求
。 -
LVS 的好处:可以 屏蔽
用户对服务器的透明性
,可以让后台的服务器更好的实现动态调整(宕机,负载过高)。 -
工作原理:用户正常访问服务(访问的是 LVS 服务),接着通过 LVS 服务,把请求转发到 Web 服务(有多种转发方式,例:轮巡)。如果不希望请求比较零散的话,可以使用同一个 IP 命名到同一个服务器上去做处理。
开发环境准备
-
开发工具:Eclipse for PHP Developers、PHPStorm、EditPlus(免费、简单、高效) -
部署开发环境:XAMPP(windows 安装包)、MACOS brew 安装工具(Mac)、Linux yum(linux) -
代码管理器:Git、SVN
以上是关于PHP 秒杀系统简介与环境准备的主要内容,如果未能解决你的问题,请参考以下文章