随笔分类 -  架构相关

1 2 下一页

架构重构的技巧
摘要:架构重构的定义: 代码重构 定义:对软件代码做任何改动以增加可读性或者简化结构而不影响输出的结果 目的:增加可读性、增加可维护性、增加可扩展性 关键点: 不影响输出、不修改错误、不增加新功能 架构重构 定义:通过调整系统结构(4R)来修复系统质量问题而不影响整体系统能力 目的:修复质量问题(性能、可 阅读全文

posted @ 2022-12-27 18:34 李某人的窥视 阅读(183) 评论(0) 推荐(0) 编辑

常见集群算法解析
摘要:Gossip协议 流行病协议,流言协议 分布式网络,无集中管理节点;节点间点对点传播信息。 P2P,BITCOIN,REDIS CLUSTER 等等 简单: 扩展性:网络节点可任意增加或修改 容错性:无中心节点,任意节点宕机不影响协议运行 去中心化:任意节点都能发送消息 最终一致性问题: 需要花费一 阅读全文

posted @ 2022-12-20 18:49 李某人的窥视 阅读(218) 评论(0) 推荐(0) 编辑

分片架构设计技巧
摘要:Es集群设计技巧 节点可以配置为不同角色,通过选举master实现集群管理 Coordinating:协调节点;Master:管理节点;Data:数据存储节点; 数据是按照索引分片的,不是按照节点分片。为了保证高可用,每个分片可以有多个副本 bully和 raft算法 master和data混合部署 阅读全文

posted @ 2022-12-15 19:23 李某人的窥视 阅读(33) 评论(0) 推荐(0) 编辑

复制集群架构设计技巧
摘要:Redis Sentinel 设计技巧 哨兵的作用 监控redis节点的状态 可以通过api进行集群状态通知 实现故障自动切换 为client提供了master发现功能,当发生master切换时通知client raft算法 双节点架构(注意quorum ,majority配置) 单节点redis异 阅读全文

posted @ 2022-12-14 18:50 李某人的窥视 阅读(15) 评论(0) 推荐(0) 编辑

如何基于ZK实现高可用架构
摘要:zookeeper设计步骤 设计path 节点的路径 选择znode类型 普通节点、临时节点等 设计znode数据 节点中的数据 设计watch 节点的监听事件以及对应的处理 ZK实现主备切换架构 1、设计2个临时节点 master slave 2、master节点挂掉时 slave升级master 阅读全文

posted @ 2022-12-09 19:00 李某人的窥视 阅读(180) 评论(0) 推荐(0) 编辑

单机高性能网络模型
摘要:传统网络模型 PPC和prefork 简单 fork代价高 性能低、父子进程通信要用IPC 监控统计等实现起来会比较复杂、OS上线问切换会限制上线文连接数 一般为几百 TPC和prethread 实现简单、无需IPC线程间通信即可、无需fork创建线程代价低 线程互斥和共享比ppc更复杂、某个线程异 阅读全文

posted @ 2022-12-08 19:09 李某人的窥视 阅读(25) 评论(0) 推荐(0) 编辑

业务定制型异地多活架构设计
摘要:一个原理 粒度 cap关注的粒度是数据而不是系统,需要根据不同业务的数据特点设计异地多活 延迟 cap是忽略网络延迟的,但是实际工程中不可能做到0延迟 分区容忍 C A只能去一个是指在发生分区的时候,正常运行的系统CA同时满足 补救 需要为分区恢复后做准备,包括人工修复数据 三大原则 只保证核心业务 阅读全文

posted @ 2022-12-04 11:16 李某人的窥视 阅读(25) 评论(0) 推荐(0) 编辑

异地多活的三种架构模式
摘要:业务定制型异地多活 按照业务优先级排序,优先保证核心业务异地多活,根据核心业务的流程和数据,设计定制化的异地多活架构 对基础设施无强要求 不通用,难扩展 CRC32 业务通用型异地多活 通过配套服务来支持异地多活,无需按照业务优先级排序来挑选某些业务实现异地多活,只需判断业务是否可以异地多活 对硬件 阅读全文

posted @ 2022-12-03 10:59 李某人的窥视 阅读(118) 评论(0) 推荐(0) 编辑

业务级灾备架构设计常见架构模式
摘要:同城多中心 同城双中心 同城 相距50KM以上 光纤互联 机房间网络延迟小于2ms 本质:逻辑上可以当做一个机房,可以应对机房级别灾难 技巧:多光纤通路 同一个集群部署在两个机房,单光纤容易发生脑裂 同城三中心 跨城双中心基本架构 不同城市 光纤互联 城市级别灾备,用户分区、异地多活 近邻城市 选择 阅读全文

posted @ 2022-12-01 18:42 李某人的窥视 阅读(139) 评论(0) 推荐(0) 编辑

FMEA排除架构错误
摘要:FMEA 故障模式与影响分析 --验证架构分析后得到的架构方案 failure 假设某些组件或模块发生故障 mode 故障发生的方式、可能性 effect 故障的影响 analysis 分析系统的可能反应,以及如何改进 FMEA技巧 给出初始的架构设计图,一般是系统架构图 部署架构图 假设架构中某个 阅读全文

posted @ 2022-11-30 18:43 李某人的窥视 阅读(47) 评论(0) 推荐(0) 编辑

高可用架构设计
摘要:flp不可能原理 确定性协议 给定一个输入 有确定相同的输出 异步通信网络 没有统一时钟 不能二十间同步 不能使用超时 不能探测失败 消息可延迟可乱序 所有存活节点 所有存活节点最终达到一致 FLP不可能三角 safety 系统中非故障节点达成了一致和合法的共识 liveness 系统中非故障节点在 阅读全文

posted @ 2022-11-30 11:55 李某人的窥视 阅读(29) 评论(0) 推荐(0) 编辑

中台剖析和实践技巧
摘要:共享架构模式 IaaS架构 共享 os 服务器 存储 虚拟化 网络 PaaS 共享 runtime DB 中间件 SaaS 应用 和 数据 中台架构 共享服务 共享数据 特性业务各自维护不共享 中台定义 业务中台-将企业内多个相似业务的通用业务能力沉淀到平台,以减少重复建设,提升业务开发效率的架构模 阅读全文

posted @ 2022-11-26 17:51 李某人的窥视 阅读(25) 评论(0) 推荐(0) 编辑

微服务拆分技巧
摘要:微服务架构整体思路 拆分方式 按业务拆分微服务 按质量拆分微服务 基础设施要求 搭建完善基础设施 搭建核心基础设施 再演进 落地方式 一部到位 逐步落地 常见场景落地建议 按照业务拆分微服务 DDD介绍 战略设计 领域 对应微服务的子域 限界上线文 对应微服务的服务 战术设计 聚合根、实体、值对象: 阅读全文

posted @ 2022-11-24 19:29 李某人的窥视 阅读(218) 评论(0) 推荐(0) 编辑

微服务基础设施选型
摘要:基础设施架构 服务接入 LV2 网关 流控 降级 安全 服务运行 LV1 注册 发现 路由 容错 技术支撑 LV4 接口框架 分布式事务 自动化测试 容错编排 自动化部署 灰度发布 服务监控 服务跟踪 基础设施 LV3 配置中心 日志中心 分布式锁 消息队列 微服务框架模式 (注册 发现 路由) 嵌 阅读全文

posted @ 2022-11-23 19:02 李某人的窥视 阅读(27) 评论(0) 推荐(0) 编辑

微服务架构的缺陷与挑战
摘要:微服务架构的陷阱 服务力度拆分太细 内部复杂度下降,外部复杂度上升 服务关系复杂 数据一致性,服务影响的点增加 团队效率下降 团队工作量增加 定位问题困难 系统性能下降 处理链路增加,耗时增加 基础设施缺乏 服务增加,监控开发运维难度大幅度增加 无法快速交付 服务管理困难 服务路由 故障隔离 服务注 阅读全文

posted @ 2022-11-22 19:13 李某人的窥视 阅读(170) 评论(0) 推荐(0) 编辑

微服务架构
摘要:微服务与SOA概述 SOA 面向服务架构 ESB 微服务 microservice SOA剖析 服务 所有业务功能都是一项服务,服务即意味着需要对外开放的能力,其他系统需要使用这项服务时无需定制化开发 ESB enterprise service bus 将各种不同的异构服务连接在一起 是soa架构 阅读全文

posted @ 2022-11-21 19:09 李某人的窥视 阅读(32) 评论(0) 推荐(0) 编辑

接口高可用设计
摘要:接口高可用 雪崩效应 请求超过系统处理能力后,性能螺旋快速下降。 限流 排队 链式效应 一个故障引起的一系列故障 熔断 降级 限流 各个环节都可以限流 请求端限流:发起请求时 不将请求发给后端 限制请求次数(变灰) 嵌入简单逻辑限流,比如随机数限流(秒杀中常见) 实现简单,流量本地控制,但是没法限制 阅读全文

posted @ 2022-11-14 18:38 李某人的窥视 阅读(60) 评论(0) 推荐(0) 编辑

负载均衡设计技巧
摘要:通用负载均衡算法 轮询、随机:请求依次(随机)发给处理服务器 实现简单,但是不会判断服务器状态(除非服务断开) 加权轮询:配置权重,按照权重发送给服务器 试用于服务器新老搭配,性能不同 实现复杂,不会判断服务器状态,权重配置不合理可能会服务器过载 权重等于轮询数量:请求分配不均衡,有毛刺现象 权重概 阅读全文

posted @ 2022-11-13 21:35 李某人的窥视 阅读(54) 评论(0) 推荐(0) 编辑

负载均衡架构设计
摘要:4级负载均衡架构 DNS->机房 机房负载(F5,LVS)->nginx nginx->服务网关 服务网关->服务 3级负载均衡 去掉LVS 2级负载均衡 nginx去掉 DNS 地理位置或机房级别负载 协议标准 能力有限不灵活,dns劫持,dns缓存 http-dns:需要安装客户端是可用 可以根 阅读全文

posted @ 2022-11-13 14:16 李某人的窥视 阅读(22) 评论(0) 推荐(0) 编辑

分布式缓存架构设计
摘要:分布式缓存架构模式 数据缓存 缓存中存储业务数据 用什么缓存系统 如何解决数据一致性问题 数据实时性要求高或者都多写少 结果缓存 用什么缓存系统 缓存有效位与结果新鲜度的人平衡 计算量大但是数据实时性要求不高 一致性复杂度 先写缓存后写存储 写存储失败后数据异常 先写存储后写缓存 缓存不更新,读物数 阅读全文

posted @ 2022-11-13 11:00 李某人的窥视 阅读(61) 评论(0) 推荐(0) 编辑

1 2 下一页

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

统计

点击右上角即可分享
微信分享提示