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

mac2024-01-25  40

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

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

墨菲定律

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

康威定律

系统划分时候需要遵循的

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

高并发原则

无状态

无状态方便水平扩展

拆分

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

服务化

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

消息队列

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

多个订阅者订阅一个消息队列,系统性能瓶颈消息重试导致的重复,下游需要幂等

缓存

http相关缓存app缓存cdn缓存

并发化

2.高可用原则

2.1降级

2.2 限流
恶心请求只请求到cache对于恶意ip限制nginx limit模块

2.3 切流量

2.4 可回滚

3 业务设计原则

3.1 防重设计

最新回复(0)