首页 > 其他分享 >架构

架构

时间:2022-11-19 23:12:54浏览次数:41  
标签:架构设计 架构 可用 复杂 高性能 冗余

软件架构

架构设计的主要目的是为了解决软件系统复杂度带来的问题

“这么多需求,从哪里开始下手进行架构设计呢?”
——通过熟悉和理解需求,识别系统复杂性所在的地方,然后针对这些复杂点进行架构设计。

“架构设计要考虑高性能、高可用、高扩展……这么多高 XX,全部设计完成估计要 1 个月,但老大只给了 1 周时间”
——架构设计并不是要面面俱到,不需要每个架构都具备高性能、高可用、高扩展等特点,而是要识别出复杂点然后有针对性地解决问题。

“业界 A 公司的架构是 X,B 公司的方案是 Y,两个差别比较大,该参考哪一个呢?”
——理解每个架构方案背后所需要解决的复杂点,然后才能对比自己的业务复杂点,参考复杂点相似的方案。

高性能

  • 负载均衡(横向, LB本身引入潜在问题), 微服务(纵向, 访问链路变复杂)

高可用(冗余实现)

  • 主备结构, 一致性保证
  • 节点状态协商策略: 选举协议, 多数取胜 -> 存在分区不一致性(脑裂) -> 多数取胜, 且投票人数过半 -> 可用性受损

可拓展性

设计模式的核心就是,封装变化,隔离可变性

低成本

  • 优先级低于上3, 与上3(冗余)矛盾
  • 一般只有创新才能解决(发明中间件和组织结构)

标签:架构设计,架构,可用,复杂,高性能,冗余
From: https://www.cnblogs.com/rellik96/p/16907481.html

相关文章