#新设计

高并发系统设计(十三):消息队列的三大作用:削峰填谷、异步处理、模块解耦

原文链接:"https://www.cnblogs.com/wt645631686/p/13199532.html而在秒杀场景下,高并发的写请求并不是持续的,也不是经常发生的,而只有在秒杀活动开始后的几秒或者十几秒时间内才会存在。为了应对这十几秒的瞬间写高峰,将秒杀请求暂存在消息队列中,然后业务服务器会响应用户“秒杀结...

高并发系统设计(十二):【缓存的正确使用姿势】缓存穿透了怎么办?如何最大程度避免缓存穿透

原文链接https://www.cnblogs.com/wt645631686/p/13199335.html缓存穿透其实是指从缓存中没有查到数据,而不得不从后端系统(比如数据库)中查询的情况。举例:如果要读取一个用户表中未注册的用户,按照旁路缓存策略,我们会先读缓存,再穿透读数据库。由于用户并不存在,所以缓存和数据库...

高并发系统设计(十一):【缓存的正确使用姿势】缓存如何做到高可用?

原文链接:https://www.cnblogs.com/wt645631686/p/13198517.html为了增大缓存系统架构的高可用,增加缓存的命中率,尽量避免请求穿透缓存进入后端数据库,主要选择的方案有客户端方案、中间代理层方案和服务端方案三大类:客户端方案就是在客户端配置多个缓存的节点,通过缓存写入和读取算...

高并发系统设计(十):【缓存的正确使用姿势】如何选择缓存的读写策略?

原文链接:https://www.cnblogs.com/wt645631686/p/13198336.html 在更新数据时不更新缓存,而是删除缓存中的数据,在读取数据时,发现缓存中没了数据之后,再从数据库中读取数据,更新到缓存中。   这是使用缓存最常见的策略,旁路缓存策略,...

高并发系统设计(九):数据库和NoSQL如何做到互补?及其缓存加速的两面性

原文链接:https://www.cnblogs.com/wt645631686/p/13196163.html数据库系统大多使用的是传统的机械磁盘,对于机械磁盘的访问方式有两种:一种是随机IO;另一种是顺序IO。随机IO就需要花费时间做昂贵的磁盘寻道,一般来说,它的读写效率要比顺序IO小两到三个数量级,所以我们想要提...

高并发系统设计(八):分库分表后ID的全局唯一性策略(发号器)

原文链接:https://www.cnblogs.com/wt645631686/p/13195329.html在单库单表的场景下,我们可以使用数据库的自增字段作为ID,因为这样最简单,对于开发人员来说也是透明的。但是当数据库分库分表后,使用自增字段就无法保证ID的全局唯一性了。先说一下UUID,UUID(Univer...

高并发系统设计(七):【Mysql数据库的优化】主从读写分离、分库分表

原文链接:https://www.cnblogs.com/wt645631686/p/13192920.html主从读写分离其实,大部分系统的访问模型是读多写少,读写请求量的差距可能达到几个数量级,那么这就是我们所说的主从读写分离。主从复制的原理这里不再阐述,本人博客里有关于Mysql主从的配置文章,当然里面也介绍了原...

高并发系统设计(六):如何减少频繁创建数据库连接的性能损耗?

原文链接:https://www.cnblogs.com/wt645631686/p/13192761.html 数据库的调用方式是先获取数据库的连接,然后依靠这条连接从数据库中查询数据,最后关闭连接释放数据库资源。这种调用方式下,每次执行SQL都需要重新建立连接,频繁地建立数据库连接耗费时间长导致了访问慢的...

高并发系统设计(五):【系统设计目标③】如何让系统易于扩展?

原文链接:https://www.cnblogs.com/wt645631686/p/13190894.html 数据库、缓存、依赖的第三方、负载均衡、交换机带宽等等都是系统扩展时需要考虑的因素。我们要知道系统并发到了某一个量级之后,哪一个因素会成为我们的瓶颈点,从而针对性地进行扩展。比方说,你系统的流量是每...

高并发系统设计(四):【系统设计目标②】系统怎样做到高可用?

本文原链接: https://www.cnblogs.com/wt645631686/p/13190832.html通常来讲,一个高并发大流量的系统,系统出现故障比系统性能低更损伤用户的使用体验。可用性是一个抽象的概念,你需要知道要如何来度量它,与之相关的概念是:MTBF和MTTR。MTBF(MeanTime...

高并发系统设计(三):【系统设计目标①】如何提升系统性能?

本文原链接:https://www.cnblogs.com/wt645631686/p/13190721.html高性能:反应了系统的使用体验,想象一下,同样承担每秒一万次请求的两个系统,一个响应时间是毫秒级,一个响应时间在秒级别,它们带给用户的体验肯定是不同的。高可用:则表示系统可以正常服务用户的时间。举例,还是两个...

高并发系统设计(二):架构分层:我们为什么一定要这么做?

本文原链接: https://www.cnblogs.com/wt645631686/p/13190536.html在系统从0到1的阶段,为了让系统快速上线,我们通常是不考虑分层的。但是随着业务越来越复杂,大量的代码纠缠在一起,会出现逻辑不清晰、各模块相互依赖、代码扩展性差、改动一处就牵一发而动全身等问题。我...

高并发系统设计(一):它的通用设计方法是什么?

本文原文链接:https://www.cnblogs.com/wt645631686/p/13189660.html 路漫漫其修远兮,吾将上下而求索高并发代表着大流量,高并发系统设计的魅力就在于我们能够凭借自己的聪明才智设计巧妙的方案,从而抵抗巨大流量的冲击,带给用户更好的使用体验。这些方案好似能操纵流量,让...

C#设计模式——抽象工厂模式(原文转自:http://blog.jobbole.com/78059/)

在上一专题中介绍了工厂方法模式,工厂方法模式是为了克服简单工厂模式的缺点而设计出来的,简单工厂模式的工厂类随着产品类的增加需要增加额外的代码),而工厂方法模式每个具体工厂类只完成单个实例的创建,所以它具有很好的可扩展性。但是在现实生活中,一个工厂只创建单个产品这样的例子很少,因为现在的工厂都多元化了,一个工厂创建一系列...

来自Vexels的超棒免费商业相关图标资源 #精选设计素材图标

如果你也在寻找一些商务相关的图标的话,今天推荐的这套图标资源绝对是你梦寐以求滴,首先呢请预览一下效果吧~  这套来自Vexels的图标包含了28张商务和商业相关的内容,包含了战略,市场,项目,付款等等商业相关的内容,并且支持不同的文件格式,例如,AI,EPS,PSD,PNG等等最重要的是符合&nbs...
首页上一页...2425262728...下一页尾页