架构训练营 week2 学习总结
架构设计的复杂度
分为 业务复杂度 和 质量复杂度,两个复杂度是正交的,每种复杂度有各自的应对方式
可扩展的架构设计
可扩展的两个重要核心是:可理解、可复用。
可理解主要通过拆分来实现,可复用则通过封装来实现。
高性能的架构设计
高性能主要分为 单机高性能 和 集群高性能 两种,单机高性能主要是一些编程手段和技巧来实现,而集群高性能则要通过任务分配和任务分解两种手段来实现。
高可用的架构设计
高可用的话,只有集群高可用,因为高可用不可能通过单机来实现。
其手段依然是任务分配和任务分解,只是相比集群高性能,集群高可用多了“状态检测”,也就是看某台服务器是否存活,这个结果用以支持之后的一系列的决策
提升架构质量
架构质量主要分为:低成本、安全、可测试、可维护、可观测
实现低成本的最佳手段依然是增加服务器,因为开发人员的成本其实比增加服务器要高出很多。
安全主要有两种,一种防强盗,一种防小偷。防强盗主要是针对类似 DDoS 的这类攻击,其主要危害是占满了带宽,架构层面无法防御,只能通过清理流量,设置防火墙等来进行攻击的应对。防小偷则主要包含:业务漏洞、安全漏洞、内鬼破坏。业务漏洞可以通过业务的保底限制来防止某些人钻空子,谋取大量优惠。安全漏洞可以应用安全框架来防御。内鬼破坏的话,可以通过 Shiro,Spring Security 来构建功能和数据权限。
可观测是可测试和可维护的基础,可观测主要通过信息的输出来实现,例如日志、API、命令行等,可以通过管理平台和运维后台来实现信息的聚合展示,让人更容易理解。
评论