亿级流量网站架构核心技术阅读笔记

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

设计系统时,要因场景,时间而异,一个系统不是一下子可以设计的很完美,在有限的资源下解决当下核心问题,预测并发现未来可以能出现的问题。系统是一个不断迭代的过程,迭代的过程发现并解决问题。一个好的设计,解决现有的问题,把控实现和进度风险,预测和规划未来不要过度设计,从迭代中演进和完善。

在设计系统应考虑 墨菲定律
1.任何事情都没表面看起来简单。
2.所有事情都比预计的时间长
3.可能出错的总会出错
4.如果你担心某事情发生,那么它更有可能发生。

在系统规划时,要思考 康威定律
1.系统架构是公司组织架构的反映。
2.应该按照业务闭环进行系统拆分/组织架构划分,实现闭环/高内聚/低耦合,减少沟通成本
3.如果沟通出现问题,那应该考虑调整系统或者组织架构
4.在合适时机进行系统拆分,不要一开始拆分得太细,虽然闭环,但是维护成本高。

消息队列需要考虑点

  • 消息产生失败处理
    1.根据消息产品是否有重试次数,达到重试次数未成功,则会通知生产失败。
    2.对于不能容忍生产失败的场景来说,要做好后期的数据处理,譬如,数据持久化,添加日志,报警等。
  • 消息重复接收处理
    1.对于消息重复问题,特别是分布式消息队列,需要在业务层面做防重处理。
发布了15 篇原创文章 · 获赞 0 · 访问量 365

猜你喜欢

转载自blog.csdn.net/weixin_46021767/article/details/103536955