ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

学习~从0开始学架构~1

2021-04-01 10:05:00  阅读:177  来源: 互联网

标签:状态 架构 开始 决策者 决策 通信 学习 维度 多线程


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

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

高性能带来的复杂度:

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

高可用 - 冗余:

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

 状态决策:

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

可扩展

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

成本

安全

规模

标签:状态,架构,开始,决策者,决策,通信,学习,维度,多线程
来源: https://www.cnblogs.com/it-worker365/p/14604823.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有