摘要:高可用相关的特征 问题 故障 可用、可恢复 复制架构 灾难 可用 多活架构 可恢复 备份 指标 RPO 最大可接受的损失的数据,备份和复制不能绝对实时 RTO 最大可接受系统恢复的时间-恢复系统使用 WRT 最大可接受业务恢复的时间(需要业务测试检查校验等) MTD 最大可接受宕机时间 RTO+WR
阅读全文
摘要:数据库读写分离 主从结构,主写从读,主复制数据到从,程序判断写请求只发送主机。 复杂度: 复制延迟(主从随机读数据) :读写绑定(写死,业务侵入大)、 二次读取(主机压力大)、业务分级(拆分读写操作时效要求的任务) 任务分解 程序代码封装 sharding-jdbc(语言过多,工作量大) 中间件封装
阅读全文
摘要:备选架构:拆解系统,得到4R 备选结构设计文档 详细架构 细化系统明确4r,优化系统提升质量 详细架构设计文档 架构规范(提升效率) 交互协议 数据格式 开发框架 架构质量(提升质量) 可测试 可维护 可观测 …… 方案设计 基于架构实现需求 项目方案设计文档 架构师文档写作 业务背景:解决的问题,
阅读全文
摘要:1、备选方案设计技巧 备选架构 架构模式 高性能 负载均衡 准备 集群 分片 高可用 复制数据 决策状态 可扩展 微服务 微内核 技术选型 存储 mysql、redis、es 负载均衡 dns\Nginx、lvs 分布式 zk raft 头脑风暴--红线筛选(约束条件)--4R设计 2、备选方案选择
阅读全文
摘要:1、 利益干系人分析 投资人 内部投资人(老板) 时间 成本 竞争力 外部投资人 价格 成本 竞争力 监管者 政府监管者 合规、处理投诉 媒体监督者 消息披露、事件回应 维护者 可维护性 高可用 构建者 技术、复杂度、时间 使用者 易用性、高可用 评估者 可观测性、可测试性 2、利益干系人处理流程
阅读全文
摘要:架构师的核心职责是消除不确定性和降低复杂性 架构师的定位 业务与技术之间的桥梁 核心能力 判断(业务理解、技术、沟通) 拆解(技术宽度、深度、广度) 取舍(设计理念、说服能力、决断力) 架构设计(影响系统结构) vs 方案设计 (不影响系统结构) 影响系统结构: RANK:改变系统分层的设计-支付功
阅读全文
摘要:低成本复杂度本质 是对架构设计的一种约束与高性能 高可用 可扩展 冲突。 优化 引入缓存 虚拟化容器化 性能调优 高性能硬件 开源方案 创新 nosql 倒排索引 hadoop hhvm k8s 先设计架构、再看降低成本。 一般业务加机器综合成本更低 安全性复杂度本质 架构安全 架构设计只能解决架构
阅读全文
摘要:单机高性能复杂度 计算高性能 进程 多进程 多线程 网络 ppc/tpc reactor 缓存 本地缓存 独立缓存 存储高性能 btree LSM 鸡蛋篮子法则--叠加法则 如果一个篮子装不下鸡蛋,用多个篮子 集群高性能复杂度 任务分配 将任务分配给多个服务器执行。 运行形态 服务器 sdk 配置获
阅读全文
摘要:高可用复杂度模型 计算高可用 任务分配 任务分配给多个服务器执行 与高性能的区别在于监控服务器状态,进行故障切换 状态检测 运行形态 配置获取 分配算法 任务分解 拆分不同角色 不同角色处理不同业务 与高性能的区别在于 需要监控状态 故障切换 任务分解的高可用在于一旦发生故障可以降低影响,保持部分功
阅读全文
摘要:架构设计的复杂度模型: 质量复杂度 高性能、高可用、成本、安全等质量属性的要求。 业务复杂度 业务固有的复杂度,难以理解,难以扩展。业务数量多、流程长,相互关系复杂。 业务复杂度与质量复杂度互不影响。 可扩展定义 可扩展 可理解、可复用。系统适应变化的能力 可伸缩 可以通过添加资源来提升性能的能力
阅读全文