
架构设计
九品神元师
AI平台、分布式存储、分布式计算、微服务
展开
-
限流算法
计数器算法 计数器算法是限流算法里最简单也是最容易实现的一种算法。比如某个接口我们1分钟的访问次数不能超过100个。那么我们可以设置一个计数器counter,每当一个请求过来的时候,counter就加1,如果counter的值大于100并且该请求与第一个请求的间隔时间还在1分钟之内,那么说明请求数过多;如果每到1分钟间隔counter就清0重新计数,具体算法的示意图如下: 这个算法虽然简单...原创 2019-11-01 15:19:08 · 204 阅读 · 0 评论 -
如何设计高可用系统
设计建议 减少单点– 去单点首先要识别整个系统所有主链路的单点,如机房(同城异地双机房),应用服务器,DNS服务器,SFTP服务器,LBS,缓存服务器,数据库,消息服务器,代理服务器和专线等,如系统通过专线调用对方服务,需要考虑同时拉联通和电信的专线,联通或电信的专线还是有一定概率会出现问题的,但是同时出问题的概率会小非常多。优先使用软负载,使用硬负载兜底。 减少依赖– 减少DNS依赖,减...转载 2019-10-11 17:51:54 · 170 阅读 · 0 评论 -
设计模式可以增加系统的可扩展性
工厂模式 抽象工厂模式 观察者模式:很方便增加观察者,方便系统扩展 模板方法模式:很方便的实现不稳定的扩展点,完成功能的重用 适配器模式:可以很方便地对适配其他接口 代理模式:可以很方便在原来功能的基础上增加功能或者逻辑 责任链模式:可以很方便得增加拦截器/过滤器实现对数据的处理,比如struts2的责任链 策略模式:通过新增策略从而改变原来的执行策略 ...转载 2019-10-11 19:23:39 · 1217 阅读 · 1 评论