一、一步步构建高并发分布式网站架构

news/2024/5/13 8:13:58/文章来源:https://blog.csdn.net/weixin_39514326/article/details/100140057

前言

适合对象
我用LA(N)MP ✔
我用ThinkPHP5 ✔
我为小但逐渐发展网站工作 ✔
我开发/管理的PHP网站遇到了瓶颈 ✔
我会基本操作 ✔

本文会带你了解一般的适合PHP网站的分布式系统的构建,对一个PHP程序员来说,应该易于理解、实现,希望能实际解决你的网站的性能瓶颈。
本文的结构也是:概念+实际操作,希望本书对你即有思想提升也有实用价值。

你怎么想的?
首先,我们得在一点上达成一致:PHP是最好的…啊不…我的意思是,PHP是中小企业构建网站使用最多的语言。即便是BAT,他们也毫不疑问的在使用PHP,或多或少,只是具体应用场景的问题。

OK,在这一点上,唯一的问题是,很多中小企业网站用户会增长,会有一百、一千、甚至一万人同时访问。运气好,会有网站负载过重而宕机的时候。

我开始也是这么想的
解决问题的一种方案是:对比发现传统PHP运行方式是并发性差的“病原”,于是采用Swoole、Workerman异步高并发Socket网络库,或者甚至选用并发性更好的Node.Js、Erlang重构网站。这些方法产生新问题在于,当原有系统已经足够复杂时,采用新技术重构并不那么经济 —— PHP同学你得学习Swoole咯!多进程、异步数据库池、任务池都是要学习掌握的!或者学习Node.Js咯!用Javascript这门不同的语言,使用不同的框架,比如 Express.Js 来重新构架!听起来很带劲!但实际上,换用新语言重构要么意味着高昂的学习成本,要么就意味着新的雇佣关系。

而另一种解决方案可能老板更容易接受:“堆”机器 —— 因为比起人力成本,机器实在是太实惠了。况且在相同配置下,即使换用所谓的高并发的技术或者语言,可能并不能带来臆想之中的好效果。而提高机器性能则是100%显著有效的,只需要更换或添置硬件就好。弹性云服务器更好办了,加CPU、内存、硬盘,几分钟就能搞定。

可是一段时间后,生意太好了,网站总是门庭若市,老问题又来了。而单台服务器配置几乎已经到顶额,没法再加了。问题貌似不能以同样简单的形式解决了,咱们又回到了最开始追根溯源的状态。

到底什么导致了网站的瓶颈?
是大量静态文件访问?是复杂的业务逻辑?是I/O?是数据库读写?还是其他?
不同类型网站有不同的瓶颈。而就同模块化系统的思想一样,对于不同的瓶颈,我们解决问题的思想是“分而治之”—— 于是我们采用分布式系统,把负载分担到各个子系统上从而解决瓶颈问题。
这就是本书讨论和解决的核心,下面的章节都是围绕这几个瓶颈而展开的。在实际应用中,应该根据网站的具体情况,选用具体的内容并且配置具体的量(比如主从数据库个数等)。

资源索引
1.ThinkPHP
2.F
3.#

作者
haoren
全栈开发 / 数据采集 / 数据监测 / 网站建站 / 小程序
mail: 532526447@qq.com
qq:532526447

您的赞赏是我的动力!谢谢


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_901824.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

测试网站访问速度的5个方法

网页载入速度对于一个网站来讲很关键,Google已经将一个网站的载入速度列入了网站关键字排名的考虑因素当中,也就是说如果你的网站有足够的内容,而且载入速度比别人的网站更快一步的话,那么你就是获得更好的排名。那么下面就赶快测…

远程访问Docker镜像内宝塔搭建的网站

应用场景 近日,因为要搭建很多测试网站环境,本着可偷懒的原则,采用的Docker来搞。并在Docker镜像中装入宝塔面板 操作流程 1、拉取镜像,装宝塔面板 这里选择的centos 8.0,安装宝塔。 报错情况: Error: …

8个免费下载文献的学术网站(亲测可用)

给大家推荐8个免费下载文献的学术网站,希望能帮到大家。 本文首发于公众号智慧科研。 1.Library Genesis Library Genesis号称是帮助全人类知识无版权传播的计划。网站上论文很多,下载方便,几乎每天都在更新。 网址:http://ge…

宝塔+wordpress服务器个人网站建站教程

一个非常简单且友好的个人网站建站教程 前期需要准备的工具: 一台云服务器(一般都包含了公网IP)。 我们采用的策略是宝塔wordpress安装。宝塔是一个对服务器网站资源管理的工具,而wordpress则是一个十分常用的基于php的网站模板。 安装宝塔 下载地址 https://www…

python爬取动漫网站的动漫

最近学了一下爬虫,就写段代码来试一下成果如何.(目的是爬取某动漫网站上的一部动漫darling in the franxx) 版本是python3.7 import requests import refrom selenium import webdriverimport osheaders{user-agent : Mozilla/5.0 (Windows …

《从零开始学Swift》学习笔记(Day 2)——使用Web网站编写Swift代码

Swift 2.0学习笔记——使用Web网站编写Swift代码 原创文章,欢迎转载。转载请注明:关东升的博客 Swift程序不能在Windows其他平台编译和运行,有人提供了一个网站swiftstub.com,左栏是代码编辑窗口,右栏是运行结果窗口。…

百家号怎么加网站链接进行引流,方法让你轻松掌握

互联网推广模式方法一直在变,平台也在变,当然推广思维模式也要跟着变。现在大家对网站seo优化似乎失去了信心,原因是百度新算法大幅度提升 自家产品,不愿意给企业站或者个人网站倒流了。那么作为推广运营的我们,势必也…

水产百科网站(SSM,MySQL )

【项目包含内容】 【视频运行指导教程目录】 视频:https://www.bilibili.com/video/BV1Xa4y1v7dx/ 【项目运行工具】 Eclipse JDK1.8 TOMCAT8 MYSQL 链接:https://pan.baidu.com/s/1BJCnUCTlqzVA6zEJpNxgYw 提取码:f2ni 【部分项目…

学习网站推荐

正文: 菜鸟教程https://www.runoob.com/ 对于要学习某一门流行编程语言来说,我首推这个网站。这个网站相比于在我看过的来说呢,是看起来比较舒服的一个,里面涵盖大多数编程语言等,如Python、Java、C、C、JavaScript、…

电影影视网站对接微信公众号 日引流500+的实例教学

哈喽,大家好, 今天写一个关于电影网站对接公众号,日引流500的教程。首先自己百度找一个电影网站,获取网站的TOKEN和URL对接地址。 token: qweqwe URL: http://e.66hai.com/api.php/wechat注意:还需要一…

Vue项目实战-小商城的基本功能的实现-移动网站开发实例

1.项目的效果图 以下效果图是在谷歌浏览器的手机适配模式看到的。 主页展示 新闻资讯展示 详细新闻资讯展示 图片列表展示 缩略图展示 商城展示 2.工具技术准备 工具:vscode。 技术:Vue.js,node.js,MUI,Mint-UI. 3.项目目录的详情 4.项目配置文件 …

企业实战 -大型网站架构概述

文章目录 企业实战 -大型网站架构概述网站架构的发展历程初始阶段的网站应用和数据分离使用缓存改善网站性能缓存技术: 使用应用服务器集群改善并发处理能力数据库读写分离使用反向代理和CDN加速网站响应使用分布式文件系统和分布式数据库系统使用NoSQL和搜索引擎业务拆分分布式…

Android 设计相关网站推荐

这篇文章给大家介绍几个设计相关的网站&#xff0c;因为博主除了软件开发以外还比较喜欢设计&#xff0c;据我观察了解程序员普遍审美都是比较差的&#xff0c;所以这次给大家推荐几个我认为比较好的用来帮助开发和提升审美的网站。 <1> MaterialPalette&#xff1a;Mat…

PHP开发电脑网站支付宝支付详细流程(沙箱测试篇)

先附上我开始做沙箱测试的时候写的笔记 &#xff08;1&#xff09;准备工作 1、蚂蚁金服开放平台的商户账号&#xff08;个人账号不行&#xff09; 2、php5.5以上的开发环境 &#xff08;2&#xff09;具体流程 1、demo下载 进入蚂蚁金服开放平台的首页&#xff0c;选择文…

Thinkphp5开发电脑网站支付宝支付详细流程(线上测试篇)

在沙箱测试篇讲过的我在这里就不再做重复&#xff0c;详情请见上一篇PHP开发电脑网站支付宝支付详细流程&#xff08;沙箱测试篇&#xff09; 在沙箱测试的时候使用的是沙箱环境中的配置&#xff0c;现在进行线上测试&#xff0c;需要创建应用 1、创建应用 登录蚂蚁金服开放…

数据采集之爬取2019最好大学网站前四列排名保存为csv文件格式简单案例 BeautifulSoup

数据采集之爬取2019最好大学网站前四列排名 保存为csv文件格式 简单案例 BeautifulSoup 目录&#xff1a; 第一步 观察网页 第二步 使用requests、 BeautifulSoup解析数据 第三步 代码呈现结果 开始&#xff1a; 第一步 观察网页 第二步 使用request、 BeautifulSoup解析…

钉钉扫码登录第三方web网站,及得到用户详情信息

1 注册应用 &#xff08;1&#xff09;授权页面logo地址&#xff1a; 扫码设备显示的图片 &#xff08;2&#xff09;回调域名&#xff1a;用户扫码成功确认后跳转的页面&#xff08;等待页面&#xff09;&#xff0c;携带code(临时授权码&#xff09;和status&#xff08;防止…

政府网站普查,国办标准VS省市标准,谁更严格?谁的合格率更高?

政府网站普查政策实施多年&#xff0c;标准变化多次&#xff0c;目前实施的标准是2019年4月份发布的国务院办公厅制定的《政府网站与政务新媒体检查指标》和《政府网站与政务新媒体监管工作年度考核指标》。 随着普查的常态化&#xff0c;国务院每年根据国办标准抽查一次&…

Day10 总结:产品开发必备的63个网站和工具

点此进入目录&#xff1a;[干货] 十天 教你从创意到上线APP 大家都知道&#xff0c;“爱阅”本身就为我们收集了大量常用的热门网站&#xff08;这里面当然包括了技术类和设计类的网站&#xff09;&#xff0c;不过本篇还是列出在开发过程中用到的网站供大家参考。 1、产品原…

网页嵌入其他网站或新打开其他网页并发送消息

一、背景 公司A想开发一个包含功能1、2、3…的网站&#xff0c;经过调研发现&#xff0c;公司B开发的网站包含了其所需的一半功能&#xff0c;公司A想直接把公司B的网站嵌入到他们的网站中或通过一个按钮跳转到公司B的网站&#xff0c;并希望对公司B的网站做一些控制。 二、相…