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

交易型系统设计的一些原则

系统不是一下子就设计的完美的,要根据时间,环境而异。在有限的资源下应该首先解决最核心的问题。系统设计是不断迭代的过程。在迭代中不断发现问题并修复问题,即好的系统是不断迭代优化出来的,这是一个持续的过程。

墨菲定律

  • 任何事情都没有表面看起来那么简单
  • 所有的事都要比你预计的时间要长
  • 可能出错的事情总会出错
  • 如果你担心某种情况发生,那么它就更有可能发生

康威定律

系统划分时候需要遵循的

  • 系统架构应该是公司组织架构的反应
  • 应该按照业务闭环进行系统拆分/组织架构拆分,实现闭环/高内经/低耦合,减少沟通成本
  • 沟通出现问题,应该考虑系统和组织架构的调整
  • 合适的时机在进行系统拆分,一开始系统/服务拆分的非常细,维护成本高

高并发原则

无状态

无状态方便水平扩展

拆分
  • 系统维度
    按照系统功能/业务拆分,比如商品系统、购物车、结算、订单系统
  • 功能维度
    对一个系统进行功能再拆分,比如,优惠券系统可以分为后台券创建系统、领券系统、用券系统
  • 读写维度
服务化

服务动态扩展,服务分组隔离,服务限流,服务鉴权,服务白名单,超时,重试,服务路由,服务set化。
服务化演进:进程内服务—单机远程服务–集群手动注册服务–自动注册和发现服务–服务分组/隔离/路由–服务治理 如限流/黑白名单

消息队列

作用:系统解耦、异步处理、削峰平流
问题

  • 多个订阅者订阅一个消息队列,系统性能瓶颈
  • 消息重试导致的重复,下游需要幂等
缓存
  • http相关缓存
  • app缓存
  • cdn缓存
并发化

2.高可用原则

2.1降级
2.2 限流
  • 恶心请求只请求到cache
  • 对于恶意ip限制
  • nginx limit模块
2.3 切流量
2.4 可回滚

3 业务设计原则

3.1 防重设计
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值