首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

《亿级流量网站架构核心技术》读书笔记一

高并发原则:无状态,拆分,服务化,消息队列,缓存

浏览器缓存:设置请求的过期时间,如对响应头expires,cache-control 进行控制,只适用于对实时性不敏感的数据

客户端缓存:比如提前将静态文件进行缓存

CDN缓存:将内容吐送到离用户最近的 CDN 节点

高可用原则:降级,限流,切流量,可回滚

业务设计原则:防重设计,比如结算页防止重复提交;幂等设计,流程可定义,状态与状态机

负载均衡与反向代理:上游服务器配置,负载均衡算法,失败重试机制,服务器心跳检查

负载均衡算法:轮询;ip_hash,hash key(建议使用一致性哈希算法),哈希算法(根据请求uri进行哈希),least_conn(将请求负载到最少活跃的服务器)

隔离:线程隔离(主要指线程池隔离),进程隔离,集群隔离,机房隔离,读写隔离,爬虫隔离(将一些恶意访问倒流到其他地方),热点隔离(对于读热点使用多级缓存,对于写热点使用队列)

限流:(最终结果是有损服务而不是不服务)令牌桶算法,应用级限流,分布式限流(lua+Redis 或 Nginx+lua),接入层限流(Nginx)

节流:(在特定时间窗口内,如果有多个重复请求则只处理一个)

降级:(保证核心系统可用)读服务降级,写服务降级(将同步操作变为异步操作,比如将写DB的操作变为发送一条写DB的消息)

超时与重试机制:代理层超时与重试,web 容器超时,中间件客户端超时与重试,数据库客户端超时,nosql 客户端超时,业务超时,前端ajax 超时。超时以后,应该要有相应的策略来处理,比如重试,尝试其他服务,返回托底数据,返回错误页。

回滚机制:事务回滚,有时候不需要保证强一致性,只需要保证最终一致性,部署版本回滚,静态资源回滚

压测与预案:系统压测(读压测,写压测,混合压测),为了保证压测的真实性,应该使用全链路压测

缓存:让数据更接近使用者,让访问速度更快。

缓存回收策略:基于空间,基于容量,基于时间

回收算法:FIFO,LRU,LFU

HTTP缓存的一些经验:只缓存200状态码的响应;不需要强一致的页面可以进行缓存;css等静态文件可以设置很长过期时间,通过版本号来控制过期;缓存 key 要合理设计

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181024A1ZJ1I00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券