互联网架构设计的几个原则

一,可(异地)部署和就近路由接入,破除单点故障;

      (可分布,可调度的原则)

 

二,数据上报和监控平台;

      (用户行为数据,系统性能监控数据,系统异常和业务相关数据等的上报)

 

三,数据分级存储原则:单内存cache存储,内存cache+异步更新,内存cache+同步更新;

      (从三个纬度分析用户行为模型,决定相关数据的存储策略:1,能忍受用户数据的丢失吗?2,能忍受数据的非及时性吗?

        3,数据的读写比例分布如何?)

 

四,动静分离原则;

      (能静态化尽量静态化,在代码和进程部署上,在DNS层上做好动静分离的系统设计准备)

 

五,轻重分离原则;

      (保持接入和业务处理的分离,接入尽量轻量化,使得系统具有很好的吞吐量,处理尽量异步化,使得可以平滑扩展)

 

六,破除服务依赖原则:同一IDC的其他服务对系统的影响,第三方调用系统接口的隔离和过载保护,依赖第三方服务的

监控和安全保护原则等。

 

七,柔性可用原则;

      (处理好异常情况下的灰度体验,区分好关键处理路径和非关键路径,而系统设计要尽量把关键路径转换成非关键路径)


八,能异步的尽量异步原则;

      (通过内存管道,操作流水等技术进行拼接各个处理模块)

 

九,灰度原则;

      (灰度发布策略是根据用户号码段,用户ip段,还是用户vip等级,用户所在城市等进行灰度升级,保证系统的平滑迭代)

 

十,异常的快速响应和一键切换原则;

      (IDC断电?系统切换到正常的成本是多少?时间呢?需要几个人操作?牛的系统可以一个人在管理后台按一个按钮就可以切换,再按一下就可以切换回来)

 

十一,有损服务原则;

      (用低成本提供海量的服务原则)

 

十二,一切简单化处理的原则,真真假假,假假真真!

      (方案的简单化,允许的误差评估等)

 

十三,充分利用DNS层做好系统的可分布设计。

 

十四,区分系统行为和用户行为并分别进行设计,甚至在关键时刻可以进行转换。

 

十五,坚持app_server设计的无状态设计原则,转变用户行为为系统行为,使得app_server具有无状态的特点。

 

十六,负载均衡原则和平滑扩容。

 

十七,多级cache设计以及各个cache的路由设计。

 

十八,“大系统小做”原则。   


十九,面向接口编程,面向服务编程设计原则,解耦业务模块的依赖关系。


二十,强事务模型到最终一致性事务模型的转换原则。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值