![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
系统架构
系统架构
华尔街之猫
我不停地奔跑,只为了追上那个曾经被寄予厚望的自己!
展开
-
如何设计秒杀系统
正文首先设计一个系统之前,我们需要先确认我们的业务场景是怎么样子的,我就带着大家一起假设一个场景好吧。场景我们现场要卖100件下面这个婴儿纸尿裤,然后我们根据以往这样秒杀活动的数据经验来看,目测来抢这100件纸尿裤的人足足有10万人。(南极人打钱!)你一听,完了呀,这我们的服务器哪里顶得住啊!说真的直接打DB肯定挂。但是别急嘛,有暖男敖丙在,我们在开始之前应该先思考下会出现哪些问题?问题高并发:是的...转载 2020-08-28 15:33:40 · 1640 阅读 · 0 评论 -
php 依赖注入模式
当A类需要依赖于B类,也就是说需要在A类中实例化B类的对象来使用时候,如果B类中的功能发生改变,也会导致A类中使用B类的地方也要跟着修改,导致A类与B类高耦合。这个时候解决方式是,A类应该去依赖B类的接口,把具体的类的实例化交给外部。<?php/** * 依赖注入模式 */interface Message{ public function send();}...原创 2020-01-15 15:28:47 · 352 阅读 · 0 评论 -
php 观察者模式
观察这模式 也叫 发布-订阅模式当一个对象的状态发生改变时,依赖他的对象会全部收到通知,并自动更新场景:当一个对象的改变需要同时改变其他对象的时候,而且它不知道具体有多少对象有待改变时,应该考虑使用观察者模式。<?php/** * 观察者模式 */interface Observer{ public function update();}class W...原创 2020-01-15 14:17:27 · 249 阅读 · 0 评论 -
高并发环境下,先操作数据库还是先操作缓存
前言在分布式系统中,缓存和数据库同时存在时,如果有写操作的时候,先操作数据库还是先操作缓存呢?先思考一下,可能会存在哪些问题,再往下看。下面我分几种方案阐述。缓存维护方案一假设有一写(线程A)一读(线程B)操作,先操作缓存,在操作数据库,如下流程图所示1)线程A发起一个写操作,第一步del cache2)线程A第二步写入新数据到DB3)线程B发起一个读操作,cach...转载 2020-01-13 14:22:52 · 324 阅读 · 0 评论 -
淘宝双 11,亿级流量高并发是怎么抗住的
前言双 11 即将来临,本文以设计淘宝网的后台架构为例,介绍从一百个并发到千万级并发情况下服务端的架构的演进过程 同时列举出每个演进阶段会遇到的相关技术,让大家对架构的演进有一个整体的认知。文章最后汇总了一些架构设计的原则。基本概念在介绍架构之前,为了避免部分读者对架构设计中的一些概念不了解,下面对几个最基础的概念进行介绍。1)什么是分布式?系统中的多个模块在不同服务...转载 2020-01-10 13:57:22 · 1910 阅读 · 0 评论 -
千万级规模高性能、高并发的网络架构经验分享
千万级规模高性能、高并发的网络架构经验分享主 题:INTO100沙龙时间:2015年11月21日下午地点:梦想加联合办公空间分享人:卫向军(毕业于北京邮电大学,现任微博平台架构师,先后在微软、金山云、新浪微博从事技术研发工作,专注于系统架构设计、音视频通讯系统、分布式文件系统和数据挖掘等领域。)架构以及我理解中架构的本质在开始谈我对架构本质的理解之前,先谈谈对今天技术沙龙主题的个...转载 2019-05-22 15:07:31 · 303 阅读 · 0 评论