系统的定义
系统泛指由一群有的个体组成,根据某种运作,能完成个别元件的工作的群体。
模块 和 组件
模块:从逻辑层面拆分出来的单元,主要用于职责分离,比如订单模块,登录模块
组件:从物理层面拆分出来的单元,主要用于单元复用,比如nginx,web服务器,mysql等
架构设计的目的是为了解决系统复杂度带来的问题
那么清楚为系统带来复杂度读度的原因是十分有必要的,工程中主要有如下五个维度
-
高性能
单机层面(多进程,多线程,多进程,进程间通信), 集群层面,分布式系统的数据一致性,分布式事务,分布式锁,任务分配器的实现(负载均衡) -
高可用
系统高可用的本质就是通过冗余来 实现高可用(计算和存储)
无论是计算高可用还是存储高可用其基础都是状态决策,即系统应能判断当前的状态是正常还是异常(独裁式,协商,民主式) -
可扩展
策略:拆分出变化层和稳定层,并设计变化层和稳定层的接口 -
低成本
往往只有创新才能达到低成本的目的包含采用新技术和自己创造新技术 -
安全
安全组件对系统性能带来的影响,比如防火墙
网友评论