it_worker365

   ::  ::  ::  ::  :: 管理

架构设计的关键思维是判断和取舍

架构是顶层设计;框架是面向编程或配置的半成品;组件是从技术维度上的复用;模块是从业务维度上职责的划分;系统是相互协同可运行的实体。

高性能带来的复杂度:

  • 单台-多进程/多线程/通信等方方面面,比如:Nginx 可以用多进程也可以用多线程,JBoss 采用的是多线程;Redis 采用的是单进程,Memcache 采用的是多线程,这些系统都实现了高性能,但内部实现差异却很大
  • 集群-任务分配(分配器 / 分配算法)/任务分解

高可用 - 冗余:

  • 计算高可用
  • 存储高可用,难点不在于如何备份数据,而在于如何减少或者规避数据不一致对业务造成的影响

 状态决策:

  • 独裁式的决策方式不会出现决策混乱的问题,因为只有一个决策者,但问题也正是在于只有一个决策者。当决策者本身故障时,整个系统就无法实现准确的状态决策。如果决策者本身又做一套状态决策,那就陷入一个递归的死循环了。 master/slave
  • 协商式两台连接通信,先2备,再通信协商谁是主
  • 民主式多个独立的个体通过投票的方式来进行状态决策

可扩展

  • 预测变化
  • 应对变化,分离变化层和稳定层,面向接口,如下例

成本

安全

规模

posted on 2021-04-01 09:25  it_worker365  阅读(73)  评论(0编辑  收藏  举报