第四周架构课程总结心得
学习本周的课程,要抓住主线,及架构发展是随着业务发展逐步演进的。
本周课程也让清晰了架构演进过程中演进的技术栈:从集中式的部署到分布式的部署;从提升性能增加而缓存到增加 CDN 服务器;从单应用演进到应用集群,数据库集群,到应用演化到微服务,数据库分库分表。从前端代理到消息中间件,架构演化一路随着业务在演进。
核心要素:
1、性能
衡量完整的性能指标、重要的有响应时间、TPS、系统性能计数器等。
2、可用性
高可用的主要手段是冗余。
衡量一个系统架构设计是否满足高可用的目标,就是当系统中的任何一台或者多台服务器宕机时,系统整体是否依然可用。
3、伸缩性
衡量架构伸缩性的主要标准就是是否可以用多台服务器构建集群,是否容易向集群中添加新的服务器。加入新的服务器无差别的服务。集群中可容纳的总得服务器数量是否有限制。
4、扩展性
衡量网站架构的扩展性好坏的主要标准就是在网站增加新的业务产品时,是否可以实现对现有产品透明无影响,不需要任何改动或者很少改动既有业务功能就可以上线新产品。不同产品之间是否很少耦合,其他产品功能不需要受牵连改动。
网站可伸缩架构的主要手段是事件驱动架构和分布式服务。
事件驱动架构在网站通常是利用消息队列实现。
分布式服务则是将业务和可复用的服务实现自身的业务逻辑,而对现有产品没有任何影响。可复用服务升级变更的时候,可以通过提供多版本服务对应用实现透明升级,不需要强制应用同步变更。
5、安全性
衡量网站安全架构的标准就是针对现存和潜在的各种攻击与窃密手段,是否有可靠的应对策略。
评论