首页 » PHP教程 » php网址术语技巧_装逼必备大年夜型分布式网站术语分析

php网址术语技巧_装逼必备大年夜型分布式网站术语分析

访客 2024-11-28 0

扫一扫用手机浏览

文章目录 [+]

1、增加缓存,减少磁盘的访问次数。

2、优化磁盘的管理系统,设计最优的磁盘办法策略,以及磁盘的寻址策略,这是在底层操作系统层面考虑的。

php网址术语技巧_装逼必备大年夜型分布式网站术语分析

3、设计合理的磁盘存储数据块,以及访问这些数据库的策略,这是在运用层面考虑的。
例如,我们可以给存放的数据设计索引,通过寻址索引来加快和减少磁盘的访问量,还可以采取异步和非壅塞的办法加快磁盘的访问速率。

php网址术语技巧_装逼必备大年夜型分布式网站术语分析
(图片来自网络侵删)

4、运用合理的RAID策略提升磁盘I/O。

2、Web前端调优

1、减少网络交互的次数(多次要求合并)

2、减少网络传输数据量的大小(压缩)

3、只管即便减少编码(只管即便提前将字符转化为字节,或者减少从字符到字节的转化过程。

4、利用浏览器缓存

5、减少Cookie传输

6、合理布局页面

7、利用页面压缩

8、延迟加载页面

9、CSS在最上面,JS在最下面

10、CDN

11、反向代理

12、页面静态化

13、异地支配

3、做事降级(自动优雅降级)

谢绝做事和关闭做事

4、幂等性设计

有些做事天然具有幂等性,比如讲用户性别设置为男性,不管设置多少次,结果都一样。
但是对转账交易等操作,问题就会比较繁芜,须要通过交易编号等信息进行做事调用有效性校验,只有有效的操作才能连续实行。

(注:幂等性是系统的接口对外一种承诺(而不是实现), 承诺只要调用接口成功, 外部多次调用对系统的影响是同等的. 声明为幂等的接口会认为外部调用失落败是常态, 并且失落败之后一定会有重试.)

5、失落效转移

若数据做事器集群中任何一台做事器宕机,那么运用程序针对这台做事器的所有读写操作都须要重新路由到其他做事器,担保数据访问不会失落败,这个过程叫失落效转移。

失落效转移包括:失落效确认(心跳检测和运用程序访问失落败报告)、访问转移、数据规复。

失落效转移担保当一个数据副本不可访问时,可以快速切换访问数据的其他副本,担保系统可用。

6、性能优化

根据网站分层架构,性能优化可分为:web前端性能优化、运用做事器性能优化、存储做事器性能优化。

1、Web前端性能优化

浏览器访问优化:减少http要求;利用浏览器缓存;启用压缩;css放在页面最上面、javaScript放在页面最下面;减少Cookie传输

CDN加速

反向代理

2、运用做事器性能优化

分布式缓存(Redis等)

异步操作(行列步队)

利用集群(负载均衡)

代码优化

3、存储性能优化

机器硬盘vs固态硬盘

B+树 vs LSM树

RAID vs HDFS

7、代码优化

多线程(Q:怎么确保线程安全?无锁机制有哪些?)

资源复用(单例模式,连接池,线程池)

数据构造

垃圾回收

8、负载均衡

HTTP重定向负载均衡

当用户发来要求的时候,Web做事器通过修正HTTP相应头中的Location标记来返回一个新的url,然后浏览器再连续要求这个新url,实际上便是页面重定向。
通过重定向,来达到“负载均衡”的目标。
例如,我们不才载PHP源码包的时候,点击下载链接时,为理解决不同国家和地域下载速率的问题,它会返回一个离我们近的下载地址。
重定向的HTTP返回码是302。

优点:比较大略。

缺陷:浏览器须要两次要求做事器才能完成一次访问,性能较差。
重定向做事自身的处理能力有可能成为瓶颈,全体集群的伸缩性国模有限;利用HTTP302相应码重定向,有可能使搜索引擎判断为SEO作弊,降落搜索排名。

DNS域名解析负载均衡

DNS(Domain Name System)卖力域名解析的做事,域名url实际上是做事器的别名,实际映射是一个IP地址,解析过程,便是DNS完成域名到IP的映射。
而一个域名是可以配置成对应多个IP的。
因此,DNS也就可以作为负载均衡做事。

事实上,大型网站总是部分利用DNS域名解析,利用域名解析作为第一级负载均衡手段,即域名解析得到的一组做事器并不是实际供应Web做事的物理做事器,而是同样供应负载均衡做事的内部做事器,这组内部负载均衡做事器再进行负载均衡,将要求分发到真是的Web做事器上。

优点:将负载均衡的事情转交给DNS,省却了网站管理掩护负载均衡做事器的麻烦,同时许多DNS还支持基于地理位置的域名解析,即会将域名解析成举例用户地理最近的一个做事器地址,这样可以加快用户访问速率,改进性能。

缺陷:不能自由定义规则,而且变更被映射的IP或者机器故障时很麻烦,还存在DNS生效延迟的问题。
而且DNS负载均衡的掌握权在域名做事商那里,网站无法对其做更多改进和更强大的管理。

反向代理负载均衡

反向代理做事可以缓存资源以改进网站性能。
实际上,在支配位置上,反向代理做事器处于Web做事器前面(这样才可能缓存Web相应,加速访问),这个位置也恰好是负载均衡做事器的位置,以是大多数反向代理做事器同时供应负载均衡的功能,管理一组Web做事器,将要求根据负载均衡算法转发到不同的Web做事器上。
Web做事器处理完成的相应也须要通过反向代理做事器返回给用户。
由于web做事器不直接对外供应访问,因此Web做事器不须要利用外部ip地址,而反向代理做事器则须要配置双网卡和内部外部两套IP地址。

优点:和反向代理做事器功能集成在一起,支配大略。

缺陷:反向代理做事器是所有要乞降相应的中转站,其性能可能会成为瓶颈。

LVS-NAT:修正IP地址

LVS-TUN: 一个IP报文封装在另一个IP报文的技能。

LVS-DR:将数据帧的MAC地址改为选出做事器的MAC地址,再将修正后的数据帧在与做事器组的局域网上发送。

9、缓存

缓存便是将数据存放在间隔打算最近的位置以加快处理速率。
缓存是改进软件性能的第一手段,现在CPU越来越快的一个主要成分便是利用了更多的缓存,在繁芜的软件设计中,缓存险些无处不在。
大型网站架构设计在很多方面都利用了缓存设计。

CDN: 及内容分发网络,支配在间隔终端用户最近的网络做事商,用户的网络要求总是先到达他的网络做事商哪里,在这里缓存网站的一些静态资源(较少变革的数据),可以就近以最快速率返回给用户,如视频网站和门户网站会将用户访问量大的热点内容缓存在CDN中。

反向代理:反向代理属于网站前端架构的一部分,支配在网站的前端,当用户要求到达网站的数据中央时,最先访问到的便是反向代理做事器,这里缓存网站的静态资源,无需将要求连续转发给运用做事器就能返回给用户。

本地缓存:在运用做事器本地缓存着热点数据,运用程序可以在本机内存中直接访问数据,而无需访问数据库。

分布式缓存:大型网站的数据量非常弘大,纵然只缓存一小部分,须要的内存空间也不是单性能承受的,以是除了本地缓存,还须要分布式缓存,将数据缓存在一个专门的分布式缓存集群中,运用程序通过网络通信访问缓存数据。

利用缓存有两个条件条件,一是数据访问热点不屈衡,某些数据会被更频繁的访问,这些数据该当放在缓存中;二是数据在某个韶光段内有效,不会很快过期,否则缓存的数据就会因已经失落效而产生脏读,影响结果的精确性。
网站运用中,缓存处理可以加快数据访问速率,还可以减轻后端运用和数据存储的负载压力,这一点对网站数据库架构至关主要,网站数据库险些都是按照有缓存的条件进行负载能力设计的。

10、负载均衡算法

轮询 Round Robin

加强轮询 Weight Round Robin

随机 Random

加强随机 Weight Random

最少连接 Least Connections

加强最少连接

源地址散列 Hash

其他算法

最快算法(Fastest):通报连接给那些相应最快的做事器。
当个中某个做事器发生第二到第7 层的故障,BIG-IP 就把其从做事器行列步队中拿出,不参加下一次的用户要求的分配,直到其规复正常。

不雅观察算法(Observed):连接数目和相应韶光以这两项的最佳平衡为依据为新的要求选择做事器。
当个中某个做事器发生第二到第7 层的故障,BIG-IP就把其从做事器行列步队中拿出,不参加下一次的用户要求的分配,直到其规复正常。

预测算法(Predictive):BIG-IP利用网络到的做事器当前的性能指标,进行预测剖析,选择一台做事器不才一个韶光片内,其性能将达到最佳的做事器相应用户的要求。
(被BIG-IP 进行检测)

动态性能分配算法(Dynamic Ratio-APM):BIG-IP 网络到的运用程序和运用做事器的各项性能参数,动态调度流量分配。

动态做事器补充算法(Dynamic Server Act.):当主理事器群中因故障导致数量减少时,动态地将备份做事器补充至主理事器群。

做事质量算法(QoS):按不同的优先级对数据流进行分配。

做事类型算法(ToS): 按不同的做事类型(在Type of Field中标识)负载均衡对数据流进行分配。

规则模式算法:针对不同的数据流设置导向规则,用户可自行

11、扩展性和伸缩性的差异

扩展性:指对现有系统影响最小的情形下,系统功能可持续扩展或替人的能力。
表现在系统根本举动步伐稳定不须要常常变更,运用之间较少依赖和耦合,对需求变更可以敏捷相应。
它是系统架构设计层面的开闭原则(对扩展开放,对修正关闭),架构设计考虑未来功能扩展,当系统增加新功能时,不须要对现有系统的构造和代码进行修正。

衡量网站架构扩展性好坏的紧张标准便是在网站增加新的业务产品时,是否可以实现对现有产品透明无影响,不须要任何改动或者很少改动既有业务功能就可以上线新产品。
不同产品之间是否很少耦合,一个产品改动对其他产品无影响,其他产品和功能不须要受牵连进行改动。

伸缩性:所谓网站的伸缩性指是不须要改变网站的软硬件设计,仅仅通过改变支配的做事器数量就可以扩大或者缩小网站的做事处理能力。

指系统能够增加(减少)自身资源规模的办法增强(减少)自己打算处理事务的能力。
如果这种增减是成比例的,就被称作线性伸缩性。
在网站架构中,常日指利用集群的办法增加做事器数量、提高系统的整体事务吞吐能力。

衡量架构伸缩性的紧张标准便是可以用多台做事器构建集群,是否随意马虎向集群中添加新的做事器。
加入新的做事器后是否可以供应和原来做事无差别的做事、集群中的可容纳的总的做事器数量是否有限定。

12、分布式缓存的同等性hash

详细算法过程:先布局一个长度为2^32的整数环(这个环被称作同等性Hash环)根据节点名称的Hash值(其分布范围为[0,2^32 - 1])将缓存做事器阶段设置在这个Hash环上。
然后根据须要缓存的数据的Key值打算得到Hash值(其分布范围也同样为[0,2^32 - 1]),然后在Hash环上顺时针查找举例这个KEY的hash值最近的缓存做事器节点,完成KEY到做事器的Hash映射查找。

优化策略:将每台物理做事器虚拟为一组虚拟缓存做事器,将虚拟做事器的Hash值放置在Hash环上,key在换上先找到虚拟做事器节点,再得到物理做事器的信息。

一台物理做事器设置多少个虚拟做事器节点得当呢?履历值:150。

13、网络安全

1、XSS攻击

跨站点脚本攻击(Cross Site Script),指黑客通过修改网页,注入恶意的HTML脚本,在用户浏览网页时,掌握用户浏览器进行恶意操作的一种攻击办法。

戒备手段:消毒(XSS攻击者一样平常都是通过在要求中嵌入恶意脚本大道攻击的目的,这些脚本是一样平常用户输入中不该用的,如果进行过滤和消毒处理,即对某些html危险字符转移,如“>”转译为“& gt;”);HttpOnly(防止XSS攻击者盗取Cookie).

2、注入攻击:SQL注入和OS注入

SQL戒备:预编译语句PreparedStatement; ORM;避免密码明文存放;处理好相应的非常。

3、CSRF(Cross Site Request Forgery,跨站点要求假造)。
听起来与XSS有点相似,事实上两者差异很大,XSS利用的是站内的信赖用户,而CSRF则是通过伪装来自受信赖用户的要求来利用受信赖的网站。

戒备:httpOnly;增加token;通过Referer识别。

4、文件上传漏洞

5、DDos攻击

14、加密技能

1、择要加密:MD5, SHA

2、对称加密:DES算法,RC算法, AES

3、非对称加密:RSA

4、非对称加密技能常日用在信息安全传输,数字署名等场合。

5、HTTPS传输中浏览器利用的数字证书本色上是经由威信机构认证的非对称加密的公钥。

15. 流控(流量掌握)

1、流量丢弃

2、通过单机内存行列步队来进行有限的等待,直接丢弃用户要求的处理办法显得大略而粗暴,并且如果是I/O密集型运用(包括网络I/O和磁盘I/O),瓶颈一样平常不再CPU和内存。
因此,适当的等待,既能够替人用户体验,又能够提高资源利用率。

3、通过分布式行列步队来将用户的要求异步化。

参考资料

1、LVS:三种负载均衡办法比较+另三种负载均衡办法

2、《大型网站技能架构——核心事理与技能剖析》李聪慧 著。

3、亿级Web系统搭建:单机到分布式集群

4、《大型分布式网站架构设计与实现》陈康贤 著。

Java工程化、高性能及分布式、高性能、深入浅出。
高架构。
性能调优、Spring,MyBatis,Netty源码剖析和大数据等多个知识点。
如果你想拿高薪的,想学习的,想就业前景好的,想跟别人竞争能取得上风的,想进阿里口试但担心口试不过的,你都可以来,群号为:647631030

注:加群哀求

1、具有1-5事情履历的,面对目前盛行的技能不知从何下手,须冲要破技能瓶颈的可以加。

2、在公司待久了,过得很安逸,但跳槽时口试碰钉子。
须要在短韶光内学习、跳槽拿高薪的可以加。

3、如果没有事情履历,但根本非常踏实,对java事情机制,常用设计思想,常用java开拓框架节制闇练的,可以加。

4、以为自己很牛B,一样平常需求都能搞定。
但是所学的知识点没有系统化,很难在技能领域连续打破的可以加。

5.阿里Java高等大牛直播讲解知识点,分享知识,多年事情履历的梳理和总结,带着大家全面、科学地建立自己的技能体系和技能认知!

6.小号或者小白之类加群一律不给过,感激。

标签:

相关文章

介绍白点控制之路,从原理到方法

白点,作为生活中常见的现象,无处不在。对于如何控制白点,许多人却感到困惑。本文将从原理出发,探讨白点的控制方法,并结合实际案例,为...

PHP教程 2025-01-03 阅读1 评论0

介绍直播王者,如何开启你的电竞直播之旅

随着电竞产业的蓬勃发展,越来越多的年轻人投身于电竞直播行业。王者荣耀作为一款备受欢迎的MOBA手游,吸引了大量玩家和观众。如何开启...

PHP教程 2025-01-03 阅读1 评论0