![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
系统架构
文章平均质量分 83
零尘_oo
这个作者很懒,什么都没留下…
展开
-
看这一篇IO多路复用面试专题就够了!最全面最详细的解答!
多路复用问题汇总BIO有什么缺陷?针对C10K这样的需求,NIO靠什么解决问题?多路复用操作系统函数select(…)工作原理?多路复用操作系统函数select(…)默认监听socket数量为什么是1024?多路复用操作系统函数select(…)第一遍O(N)未发现就绪socket,后续再有某个socket就绪后,select(…)如何感知的?是不停轮询么?多路复用操作系统函数poll(…) 和select(…)主要区别是什么?为什么会有epoll这个技术,它产生的背景是什么呢?epoll原创 2020-08-22 13:37:38 · 2156 阅读 · 0 评论 -
亿级流量网站架构核心技术(超时与重试机制)
代理层超时与重试如果应用不设置超时,则可能会导致请求响应慢,慢请求累积导致连锁反应,甚至造成应用雪崩。而有些中间件或者框架在超时后会进行重试(如设置超时重试两次),读服务天然适合重试,但写服务大多不能重试(如写订单,如果写服务是幂等的,则重试是允许的),重试次数太多会导致多倍请求流量,即模拟了DDoS攻击,后果可能是灾难,因此,务必设置合理的重试机制,并且应该和熔断、快速失败机制配合。Nginx相关超时设置Nginx主要有4类超时设置:客户端超时设置、DNS解析超时设置、代理超时设置,如果使用ngx_原创 2020-06-04 18:32:45 · 356 阅读 · 0 评论 -
亿级流量网站架构核心技术(降级特技)
降级预案在进行降级之前要对系统进行梳理,看看系统是不是可以丢卒保帅,从而梳理出哪些必须誓死保护,哪些可降级。可以参考日志级别设置预案:一般: 比如,有些服务偶尔因为网络抖动或者服务正在上线而超时,可以自动降级。警告: 有些服务在一段时间内成功率有波动(如在95~100%之间),可以自动降级或人工降级,并发送告警。错误: 比如,可用率低于90%,或者数据库连接池用完了,或者访问量突然猛增到系统能承受的最大阈值,此时,可以根据情况自动降级或者人工降级。严重错误: 比如,因为特殊原因数原创 2020-06-01 16:56:11 · 255 阅读 · 0 评论 -
亿级流量网站架构核心技术(限流技术详解)
限流一般开发高并发系统常见的限流有:限制总并发数(比如数据库连接池、线程池)、限制瞬时并发数(如Nginx的limit_conn模块,用来限制瞬时并发连接数)、限制时间窗口内的平均速率(如Guava的RateLimiter、Nginx的limit_req模块,用来限制每秒的平均速率),以及限制远程接口调用速率、限制MQ的消费速率等。另外,还可以根据网络连接数、网络流量、CPU或内存负载等来限流。限流算法令牌桶算法令牌桶算法,是一个存放固定容量令牌的桶,按照固定速率往桶里添加令牌:假设限制2r/s原创 2020-05-28 10:30:28 · 662 阅读 · 0 评论 -
亿级流量网站架构核心技术(负载均衡与反向代理)
负载均衡与反向代理在请求一个www.baidu.com网站时,浏览器首先会查询DNS服务器获取对应的IP,然后通过此IP访问对应的服务。DNS域名解析负载均衡的优点:将负载均衡的工作交给DNS,省去了网站管理维护负载均衡服务器的麻烦。技术实现比较灵活、方便,简单易行,成本低,使用于大多数TCP/IP应用。对于部署在服务器上的应用来说不需要进行任何的代码修改即可实现不同机器上的应用访问。同时许多DNS还支持基于地理位置的域名解析,即会将用户分配到离他最近的服务器上以提升体验。DNS域名解析的原创 2020-05-27 15:37:53 · 399 阅读 · 0 评论