大型网站系统的架构方向

团队内在做分享,总结了些架构方面的知识点,分享于此。互联网系统目前主要追逐的架构方向有以下5个方面:

高性能:天下武功,唯快不破

让干活的人牛一点

升级硬件设备

升级网络带宽

让干活的人多一点

多线程

分布式

让活少一点

在任何的技术层面上,无所不用其极的降低IO

从数量上减少:压缩算法,改变算法,少写大sql,索引,异步处理

让数据跑的更快:缓存,各种层面的缓存,浏览器的缓存、服务器的缓存、机械硬盘、固态硬盘等;不用关系型数据库,用nosql

高可用:不管你在不在,我一直都在

高可用性”(High Availability)通常来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性。

MTTF (Mean Time To Failure,平均无故障时间),指系统无故障运行的平均时间,取所有从系统开始正常运行到发生故障之间的时间段的平均值。

我们的目标就是尽可能的增大MTTF的值

如何实现:

  • 负载均衡
  • 完善的监控
  • 完善的发布策略(不停机部署)
  • 主从结构
  • 容错(健壮性)
  • 隔离设计
  • 熔断设计
  • 重试设计
  • ……

.

伸缩性:金箍棒,可大可小

互联互通,各种流量突如其来,如何应对

  • 电商活动大促
  • 微博热点,比如xx又离婚了
  • 突如其来的ddos攻击

限流降级,加机器都是表面功夫,其实最关键是业务拆分

软件系统中最不缺少的就是拆

纵向切为数据层、应用层、表现层

横向切为产品子系统、订单子系统…

打个比喻,这有点类似于我们人体,而每个切分出来独立单元就是我们身上的每块肌肉,只有划分出肌肉,我们才能着重根据我们所要面临的外部情况,来决定着重锻炼我们的哪块肌肉

通常使用的技术就是

  • rpc
  • 服务治理
  • 队列
  • 负载均衡

扩展性:乐高积木

对现有系统影响最小的情况下,功能可以持续扩展及提升的能力,表现在系统基础设施稳定,不需要经常变动,应用之间较少依赖和耦合,对需求变更可以敏捷响应

可扩展架构主题思想是模块化解耦*

注:伸缩性和扩展性是不同的问题,但是其实最终使用的技术其实是一样的,因为核心思想就是拆

互联网就是SOA、万般都是服务,我们的世界就是服务的串联,我们的未来就只有数据

安全性:安全生产、平安幸福

安全是系统的遮羞布,在懂行的人眼里,谁在裸奔一清二楚

总结

  • 技术的世界不存在对错,只有优劣,而优劣的评价在于结果
  • 每个人心里都期望有个银弹,但是现实就是没有银弹
  • 唯一不变的就是变化
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值