压力测试:怎样设计全链路压力测试平台
摘要:一旦你的系统流量有大的增长,比如类似“双十一”的流量,那么你在面临性能问题时就可能会手足无措。为了解决后顾之忧,你需要了解在流量增长若干倍的时候,系统的哪些组件或者服务会成为整体系统的瓶颈点,这时你就需要做一次全链路的压力测试。 那么,什么是压力测试呢?要如何来做全链路的压测呢?这两个问题就是本节课
阅读全文
posted @
2020-08-19 09:48
肉松蛋卷
阅读(599)
推荐(0)
09-数据库优化方案(二):写入数据量增加时,如何实现分库分表
摘要:前一节课,我们学习了在高并发下数据库的一种优化方案:读写分离,它就是依靠主从复制的技术使得数据库实现了数据复制为多份,增强了抵抗大量并发读请求的能力,提升了数据库的查询性能的同时,也提升了数据的安全性。当某一个数据库节点,无论是主库还是从库发生故障时,我们还有其他的节点中存储着全量的数据,保证数据不
阅读全文
posted @
2020-08-19 09:47
肉松蛋卷
阅读(579)
推荐(0)
08-数据库优化方案(一):查询请求增加时,如何做主从分离
摘要:节课,我们用池化技术解决了数据库连接复用的问题,这时,你的垂直电商系统虽然整体架构上没有变化,但是和数据库交互的过程有了变化,在你的Web工程和数据库之间增加了数据库连接池,减少了频繁创建连接的成本,从上节课的测试来看性能上可以提升80%。现在的架构图如下所示: 此时,你的数据库还是单机部署,依据一
阅读全文
posted @
2020-08-19 09:44
肉松蛋卷
阅读(291)
推荐(0)
07-池化技术:如何减少频繁创建数据库连接的性能损耗
摘要:那么从这一讲开始,我们正式进入演进篇,我会再从局部出发,带你逐一了解完成这些目标会使用到的一些方法,这些方法会针对性地解决高并发系统设计中出现的问题。比如,在15讲中我会提及布隆过滤器,这个组件就是为了解决存在大量缓存穿透的情况下,如何尽量提升缓存命中率的问题。 当然,单纯地讲解理论,讲解方案会比较
阅读全文
posted @
2020-08-19 09:41
肉松蛋卷
阅读(464)
推荐(0)
系统设计目标(二):系统怎样做到高可用
摘要:高可用性(High Availability,HA)是你在系统设计时经常会听到的一个名词,它指的是系统具备较高的无故障运行的能力。 我们在很多开源组件的文档中看到的HA方案就是提升组件可用性,让系统免于宕机无法服务的方案。比如,你知道Hadoop 1.0中的NameNode是单点的,一旦发生故障则整
阅读全文
posted @
2020-08-19 09:39
肉松蛋卷
阅读(700)
推荐(0)
03-系统设计目标(一):如何提升系统性能
摘要:高并发系统设计的三大目标:高性能、高可用、可扩展 高并发,是指运用设计手段让系统能够处理更多的用户并发请求,也就是承担更大的流量。它是一切架构设计的背景和前提,脱离了它去谈性能和可用性是没有意义的。很显然嘛,你在每秒一次请求和每秒一万次请求,两种不同的场景下,分别做到毫秒级响应时间和五个九(99.9
阅读全文
posted @
2020-08-19 09:37
肉松蛋卷
阅读(518)
推荐(0)
架构分层:我们为什么一定要这么做
摘要:什么是分层架构 软件架构分层在软件工程中是一种常见的设计方式,它是将整体系统拆分成N个层次,每个层次有独立的职责,多个层次协同提供完整的功能。 我们在刚刚成为程序员的时候,会被“教育”说系统的设计要是“MVC”(Model-View-Controller)架构。它将整体的系统分成了Model(模型)
阅读全文
posted @
2020-08-19 09:35
肉松蛋卷
阅读(493)
推荐(0)
高并发系统:它的通用设计方法是什么
摘要:从古至今,长江和黄河流域水患不断,远古时期大禹曾拓宽河道,清除淤沙让流水更加顺畅;都江堰作为史上最成功的的治水案例之一,用引流将岷江之水分流到多个支流中,以分担水流压力;三门峡和葛洲坝通过建造水库将水引入水库先存储起来,然后再想办法把水库中的水缓缓地排出去,以此提高下游的抗洪能力。 而我们在应对高并
阅读全文
posted @
2020-08-19 09:34
肉松蛋卷
阅读(367)
推荐(0)