架构师课程第四周总结
学习本周的课程,要抓住主线,及架构发展是随着业务发展逐步演进的。在本周左右中,我利用课程中的架构图,逐步展现了业务发展中演进的技术。
在李老师的《大型网站技术架构核心原理与案例分析》,有着更为清晰的介绍。
除了我在 网站架构进化史【https://xie.infoq.cn/article/24197ee4ed1637d6e80b48615】中描述的进化内容。本书中还介绍了网站架构的核心要素。并对实现核心要素逐步说明采用到的技术实现。为了丰富论证,后面添加了若干典型的互联网架构案例。书籍的二三章,可以对照来看,一说要素,一说技术。
核心要素
性能
衡量完整的性能指标、重要的有响应时间、TPS、系统性能计数器等。
可用性
高可用的主要手段是冗余。
衡量一个系统架构设计是否满足高可用的目标,就是当系统中的任何一台或者多台服务器宕机时,系统整体是否依然可用。
伸缩性
衡量架构伸缩性的主要标准就是是否可以用多台服务器构建集群,是否容易向集群中添加新的服务器。加入新的服务器无差别的服务。集群中可容纳的总得服务器数量是否有限制。
扩展性
衡量网站架构的扩展性好坏的主要标准就是在网站增加新的业务产品时,是否可以实现对现有产品透明无影响,不需要任何改动或者很少改动既有业务功能就可以上线新产品。不同产品之间是否很少耦合,其他产品功能不需要受牵连改动。
网站可伸缩架构的主要手段是事件驱动架构和分布式服务。
事件驱动架构在网站通常是利用消息队列实现。
分布式服务则是将业务和可复用的服务实现自身的业务逻辑,而对现有产品没有任何影响。可复用服务升级变更的时候,可以通过提供多版本服务对应用实现透明升级,不需要强制应用同步变更。
安全性
衡量网站安全架构的标准就是针对现存和潜在的各种攻击与窃密手段,是否有可靠的应对策略。
评论