LaneBlog

蝼蚁虽小,也有梦想

PHP Socket服务 | PHP微信开发框架 | 开源博客

架构系列-高性能架构

Clicks: 1328 Date: 2019-11-29 16:51:53 Power By 李轩Lane

架构

    

一、数据库集群:读写分离

二、数据库集群:分库分表

三、NoSQL = not only sql

四、缓存

    1、用户请求发现缓存不存在则自行查库并生成缓存。并发下可能会同时很多请求同时生成,造成雪崩。

    2、用户请求发现缓存不存在,通过队列后台生产缓存,并发下,消费者应判断缓存是否已存在,不存在时在生成。

    3、热点数据后台脚本生成,在内存紧张时新生成一个就会淘汰一个,脚本应不断检测若缓存不存在则重新生成。

    4、全网热点数据,如明星官宣,这时应生成多份缓存,以集群来分散单机压力。

五、单机高性能:PPC和TPC

    1、PPC:每来一个链接就创建一个进程。优化版是启动时预创建多进程。

    2、TPC:同PPC,进程换线程。

六、单机高性能:Reactor和Proactor

    1、Reactor:就是IO多路复用,也叫Dispatcher,同步非阻塞模型。如epoll、kqueue等。单reactor单进程有redis,多reactor单进程没任何优势,多reactor多进程有nginx和memcache。通俗讲:来了事件操作系统通知应用程序,应用程序来处理。

    2、Proactor:异步非阻塞。Reactor需要用户进程同步做read write等IO操作,如果改为异步可以提高性能,这就是Proactor。通俗讲:来了事件操作系统来处理,处理完通知应用程序。虽然性能更好,但是Linux下的AIO并不完善,真正实现了异步非阻塞的操作系统是windows的IOCP。

    3、IO操作分两个阶段

        1、等待数据准备好(读到内核缓存)

        2、将数据从内核读到用户空间(进程空间)

        一般来说1花费的时间远远大于2。

        1上阻塞2上也阻塞的是同步阻塞IO

        1上非阻塞2阻塞的是同步非阻塞IO,这就是Reactor就是这种模型 

        1非阻塞2上非阻塞是异步非阻塞IO,这讲说的Proactor模型就是这种模型

七、复杂均衡的分类和架构

    1、最上层DNS:针对地域。就近访问。缺点更新缓存慢,不可定制化。

    2、硬件层F5:性能最好,价格昂贵,便宜的也要一台马六。qps两百万到八百万。

    3、软件层LVS:性能始终,qps八十万。在三层网络  

    4、软件层nginx:性能最差,qps五万左右。

八、负载均衡的算法

    1、轮询:简单,但由于简单,也是缺点。宕机也无法知道。

    2、加权轮训:根据机器性能等权重不同,其他缺点同轮询。

    3、最小负载:LVS四层可以根据最小连接数,Nginx七层可以根据最少HTTP请求数(默认不支持)。 自研的话可以根据CPU IO等来判断,但是复杂度太高,是1、5、15分钟的负载?太短波动太频繁,太长峰值来临时感知太晚。

    4、性能最优:同最小负载,都是要感知服务器状态,复杂都高。如果收集量太大影响性能,如果采样,又需要合理的采样率,否则不准确。

    5、Hash:根据id hash、根据ip hash。如银行业务,请求都要落在同一台机器上。


Reply: lane On 2019-12-19 15:49:15

好文章

回复

Reply: eimepoyidu On 2020-01-13 03:14:24

http://mewkid.net/who-is-xandra/ - Buy Amoxicillin <a href="http://mewkid.net/who-is-xandra/">Amoxicillin Online</a> wof.gwfu.lanecn.com.xam.lx http://mewkid.net/who-is-xandra/

回复

Reply: 广州增城职业技术学校 On 2020-01-13 09:03:51

网站内容还是挺不错的,谢谢博主。还有博客应该是WORDPRESS做的吧,感觉美观度还可以提高,谢谢。我自已是搞前端设计的,你的代码可以做精简一点。

回复

Reply: eacufafutocis On 2020-01-13 09:56:25

http://mewkid.net/who-is-xandra/ - Amoxicillin 500mg <a href="http://mewkid.net/who-is-xandra/">Amoxicillin Without Prescription</a> nio.kqnb.lanecn.com.oik.np http://mewkid.net/who-is-xandra/

回复

Reply: oqemokoci On 2020-01-29 14:19:08

http://mewkid.net/who-is-xandra/ - Amoxicillin Without Prescription <a href="http://mewkid.net/who-is-xandra/">Dosage For Amoxicillin 500mg</a> yjw.ubxx.lanecn.com.nri.kk http://mewkid.net/who-is-xandra/

回复

Reply: aqumexeyee On 2020-02-06 19:45:25

http://mewkid.net/who-is-xandra/ - Buy Amoxicillin Online <a href="http://mewkid.net/who-is-xandra/">Amoxicillin 500mg Capsules</a> wfi.buhv.lanecn.com.krl.wb http://mewkid.net/who-is-xandra/

回复

Reply: iniwulijomuk On 2020-02-06 20:22:30

http://mewkid.net/who-is-xandra/ - Amoxil Causes Gallstones <a href="http://mewkid.net/who-is-xandra/">18</a> zgt.dlec.lanecn.com.epe.ye http://mewkid.net/who-is-xandra/

回复

Reply: etolapogtaq On 2020-02-06 21:00:33

http://mewkid.net/who-is-xandra/ - Amoxicillin <a href="http://mewkid.net/who-is-xandra/">Amoxicillin 500mg</a> cdo.ydco.lanecn.com.yum.pg http://mewkid.net/who-is-xandra/

回复

Reply: EllsiGn On 2020-03-09 05:29:49

Viagra Canada Drugs http://apcialisle.com/# - cialis 5mg best price Tadalafil Generic Vs Cialis <a href=http://apcialisle.com/#>Cialis</a> Rezeptfrei Viagra Preis

回复

Reply: EllsiGn On 2020-03-18 08:13:34

Buy Fluoxetine Online https://apcialisle.com/# - Cialis Buy Cialis Legally Online 438 <a href=https://apcialisle.com/#>canadian pharmacy cialis 20mg</a> American Online Drugstore

回复

Reply: EllsiGn On 2020-03-26 14:16:20

Line Sale Tadalis Sx Soft https://apcialisle.com/# - Cialis 247 Overnight Pharmacy Canadian <a href=https://apcialisle.com/#>Cialis</a> Cialis Dauererektion

回复

Reply: MocGlomi On 2020-05-03 23:32:52

Acheter Viagra Pfizer France <a href=https://abcialisnews.com/#>Cialis</a> Viagra 25 Mg Online <a href=https://abcialisnews.com/#>Cialis</a> Cialis Prix 10mg

回复

Add Comment
©2014 www.lanecn.com , All rights reserved. Power By Li Xuan.  京ICP备14005030号