上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 67 下一页
摘要: 数据库、缓存、依赖的第三方、负载均衡、交换机带宽等等都是系统扩展时需要考虑的因素。我们要知道系统并发到了某一个量级之后,哪一个因素会成为我们的瓶颈点,从而针对性地进行扩展。 比方说,你系统的流量是每秒1000次请求,对数据库的请求量也是每秒1000次。如果流量增加10倍,虽然系统可以通过扩容正常服务 阅读全文
posted @ 2020-06-25 01:10 温柔的风 阅读(450) 评论(0) 推荐(0) 编辑
摘要: 通常来讲,一个高并发大流量的系统,系统出现故障比系统性能低更损伤用户的使用体验。 可用性的度量 可用性是一个抽象的概念,你需要知道要如何来度量它,与之相关的概念是:MTBF和MTTR。 MTBF(Mean Time Between Failure)是平均故障间隔的意思,代表两次故障的间隔时间,也就是 阅读全文
posted @ 2020-06-25 00:29 温柔的风 阅读(541) 评论(0) 推荐(0) 编辑
摘要: 高并发系统设计的三大目标:高性能、高可用、可扩展 高性能:反应了系统的使用体验,想象一下,同样承担每秒一万次请求的两个系统,一个响应时间是毫秒级,一个响应时间在秒级别,它们带给用户的体验肯定是不同的。 高可用:则表示系统可以正常服务用户的时间。举例,还是两个承担每秒一万次的系统,一个可以做到全年不停 阅读全文
posted @ 2020-06-24 23:47 温柔的风 阅读(1072) 评论(0) 推荐(0) 编辑
摘要: 在系统从0到1的阶段,为了让系统快速上线,我们通常是不考虑分层的。但是随着业务越来越复杂,大量的代码纠缠在一起,会出现逻辑不清晰、各模块相互依赖、代码扩展性差、改动一处就牵一发而动全身等问题。 我们常见的设计方式如MVC分层、ISO七层模型、Linux系统分层、Mysql分层、PHP分层等等... 阅读全文
posted @ 2020-06-24 22:55 温柔的风 阅读(847) 评论(0) 推荐(0) 编辑
摘要: 高并发代表着大流量,高并发系统设计的魅力就在于我们能够凭借自己的聪明才智设计巧妙的方案,从而抵抗巨大流量的冲击,带给用户更好的使用体验。这些方案好似能操纵流量,让流量更加平稳得被系统中的服务和组件处理。 而我们在应对高并发大流量时归纳起来共有三种方法。 Scale-out(横向扩展):分而治之是一种 阅读全文
posted @ 2020-06-24 20:25 温柔的风 阅读(963) 评论(0) 推荐(2) 编辑
摘要: 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6(最大子序列:4 -1 2 1 ) 第一种: $arr = [-2,1,-3,4,-1,2,1,-5,4]; funct 阅读全文
posted @ 2020-06-23 12:08 温柔的风 阅读(352) 评论(0) 推荐(0) 编辑
摘要: 存储介质不同 redis queue数据是存储在内存,虽然有AOF和RDB的持久化方式,但是还是以内存为主。kafka是存储在硬盘上 性能不同 因为存储介质不同,理论上redis queue的性能要优于kafka,但是在实际使用过程,这块体验并不是很明显,通常只有一些高并发场景下需要用redis q 阅读全文
posted @ 2020-06-22 08:59 温柔的风 阅读(913) 评论(0) 推荐(0) 编辑
摘要: 被百度面试官问到这么一个问题: 有五亿个文件文档,另外还有10万个敏感词,怎么判断这五亿个文件里是否有包含敏感词?.......这个我第一念头真不知道怎么办,最后还是问了面试官,面试官告诉我涉及到了一个算法。那就是AC自动机,我通过百度了一批AC自动机的文章,也大概了解到了它的进化历程......关 阅读全文
posted @ 2020-06-21 21:41 温柔的风 阅读(720) 评论(0) 推荐(0) 编辑
摘要: 原理介绍(摘自极客时间): Snowflake的核心思想是将64bit的二进制数字分成若干部分,每一部分都存储有特定含义的数据,比如说时间戳、机器ID、序列号等等,最终生成全局唯一的有序ID。它的标准算法是这样的: 从上面这张图中我们可以看到,41位的时间戳大概可以支撑pow(2,41)/1000/ 阅读全文
posted @ 2020-06-21 19:04 温柔的风 阅读(3760) 评论(0) 推荐(0) 编辑
摘要: pm = static 静态,始终保持一个固定数量的子进程,这个数由(pm.max_children)定义,这种方式很不灵活,也通常不是默认的。 pm = dynamic 动态,在更老一些的版本中,dynamic被称作apache-like。子进程的数量在下面配置的基础上动态设置:pm.max_ch 阅读全文
posted @ 2020-06-19 12:24 温柔的风 阅读(738) 评论(0) 推荐(0) 编辑
上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 67 下一页