Nacos架构&原理
年做分布式系统改造时开始建设,特殊之处在于它是整 个分布式系统的协调者和全局入口,也意味着它的可用性,可靠性,可观测性等分布式系统指标影 响整个分布式系统的运行。历史上,这个系统在阿里也触发过大故障,经历过数次血与火的考验。 在阿里数次架构升级中,Nacos 都做了大量的功能迭代,用来支持阿里的异地多活,容灾演练,容 器化,Serverless 化。Nacos 经过阿里内部锤炼十年以上,各项指标已经及其先进,稳定,为服务 服务端进行创建并进行管理的,必须保证大部分的节点都保存了此配 置数据才能认为配置被成功保存了,否则就会丢失配置的变更,如果出现这种情况,问题是很严重 的,如果是发布重要配置变更出现了丢失变更动作的情况,那多半就要引起严重的现网故障了,因 此对于配置数据的管理,是必须要求集群中大部分的节点是强⼀致的,而这里的话只能使用强⼀致 性共识算法。 为什么是 Raft 和 Distro 呢 对于强⼀致性共识算法,当前工业生产中,最多使用的就是 健康状态、权重等属性。随着服务规模的扩大,渐渐的又需要在整个服务级别设定⼀些权限规则、 以及对所有实例都生效的⼀些开关,于是在服务级别又会设立⼀些属性。再往后,我们又发现单个 服务的实例又会有划分为多个子集的需求,例如⼀个服务是多机房部署的,那么可能需要对每个机 房的实例做不同的配置,这样又需要在服务和实例之间再设定⼀个数据级别。 65 > Nacos 架构 Zookeeper 没有针对服务发现设计数据模型,它的数据是以⼀种更加抽象的树形0 码力 | 326 页 | 12.83 MB | 10 月前3
分布式异地多活架构实践之路• 实际应用效果 • 未来规划 单机房遇到的问题 可用性低 响应时间慢 系统扩容难 可用性低 响应时间慢 系统扩容难 大纲 • 产品发展中遇到的问题 • 异地多活存在哪些技术挑战 • 讯飞输入法解决方案 • 实际应用效果 • 后续规划 技术挑战 几十毫秒的延迟; 跨机房性能较慢 机房天然延迟 专线费用高; 专线不稳定 跨机房专线问题 依赖小服务,有一 定改造成本; Servers Servers Servers MS MS GSLB MS 上报/探测 上报 上报 上报/探测 上报/探测 上报 获取入口地址 服务访问 根据运行情况进行负载均衡/踢出故障入口 入口 入口 入口 三地同步/调用 核心业务异地多活 核心系统 非核心系统 原有系统 单向依 赖 传统DNS调度存在问题 LocalDNS 智能DNS (权威域名 服务器) 获取服务IP IP请求 DNS劫持严重 用户设置DNS服务器 DNS各级缓存 DNSTTL不遵循 EDNS普及缓慢 根据用户IP来 进行运营商区 域的调度 结果:无法就近返回最优的机房IP、机房之间负载不均衡、机房异常后无法快速容灾 精准流量调度-全局 HTTPDNS LocalDNS 智能DNS 合肥IDC 北京IDC 广州IDC 弱依赖,可控 SDK封装: 重点域名预解析 缓存域名解析结果(sp、0 码力 | 36 页 | 1.66 MB | 1 年前3
康彬-基于微服务的混合云和同城双活实践registry data_proxy LB DNS app/browser nginx-Proxy nginx-Proxy data(r) 同城双活的探索 未来的担忧 单机房 如果发生机房级的灾难怎么办? 单集群 随着流量越来越大,集群规模 越来越大,怎么破? 单元化&多活的范围 boss 客服系统 销售系统 风控审核 催收系统 政策管理 prod devops 用户增长 发布系统 故障时,只影响内 部办公相关的公司 经营活动,不影响 用户下单交易 故障时,间接或部分影响用户 下单交易,但有降级方案来缓 冲、减少影响 故障时,只影响日 常研发运维活动的 进行,不影响用户 下单交易 故障时,直接影响用户下单交 易,且没有降级方案来缓冲、 减少影响 …… 财务系统 招聘系统 …… 美好的愿望 中心机房 registry 全站业务服务 全站业务服务 data(r/w) web 核心交易平台 风控审核平台 data_proxy 单元机房 registry data(r) web data_proxy registry_sync 电商单元 核心交易平台 风控审核平台 残酷的现实 缺乏按用户维度的流量调度能力 LB Nginx-Proxy Nginx-Proxy 自建IDC 云IDC 3 2 1 60 码力 | 47 页 | 6.09 MB | 1 年前3
美团点评2018技术年货《深度剖析开源分布式监控 CAT》 产品价值 产品价值 减少故障发现时间。 降低故障定位成本。 辅助应用程序优化。 技术优势 技术优势 实时处理:信息的价值会随时间锐减,尤其是在事故处理过程中。 全量数据:全量采集指标数据,便于深度分析故障案例。 高可用:故障的还原与问题定位,需要高可用监控来支撑。 故障容忍:故障不影响业务正常运转、对业务透明。 高吞吐:海量监控数据的收集,需要高吞吐能力做保证。 的这行注释掉,本以为会“大功告成”,但没想到仅仅过了几天,5xx告警又来“敲门”。看来,这个问题并 没我们最初想象的那么简单。 阶段2:可疑日志浮现 阶段2:可疑日志浮现 接下来,我们只能硬着头皮去查日志,特别是故障发生点前后的日志,于是又发现了一处可疑的地方: 可以看到:在极短的时间内,狂打 failed to allocate 64(bytes) of direct memory(...) 日志 (瞬间 和性能统计等功能。本文主要讲述Oceanus如何通过策略抽象、查询、渲染和分组动态更新,实现HTTP 请求的定制化路由。 随着公司业务的高速发展,路由场景也越来越复杂。比如: 团购秒杀要灵活控制压测流量,实现线上服务单节点、各机房、各地域等多维度的压测。 外卖业务要做流量隔离,把北方地域的流量转发到分组a,南方地域的流量转发到分组b。 酒旅业务要对App新版本进行灰度,让千分之一的用户试用新版本,其他用户访问老版本。0 码力 | 229 页 | 61.61 MB | 1 年前3
Go在数据库中间件的应用两年通信设备开发经验,四年互联网 • 五年C/C++使用经验,一年Golang 2 CONTENTS • 程序开发的需求 • Golang特性 • Go开发mysql中间件 • 整体方案 • 分表路由 • 故障切换 • 平滑扩容 • 系统运维 3 程序开发的需求 • 语言特性精炼,容易入门 • 开发效率高,代码逻辑清晰 • 运行性能强,节省机器资源 • 部署维护方便 • 生态圈完善 4 9 故障主备切换 • 故障情形 • 从节点挂掉:进行剔除下线处理 • 主节点挂掉,机器存活:通过binlog恢复数据,提升备为主 • 主节点挂掉,机器不存活:采用Relaylog恢复数据,提升备为主 • 部署模式 • 一主多从 • 双主多从 10 故障主备切换 • 一主多从模式 master slave slave slave slave 机房A 机房B Dead-Master 日志 Latest-Slave与Slave差异 日志 Master故障时试图通过Rsync拉取Binlog,最大程度保 证数据不丢失; Slave之间的数据差异通过中继日志恢复。 • 数据恢复工作原理 11 故障主备切换 • 双主多从模式 master slave slave slave slave 机房A 机房B master 12 在线平滑扩容 • 数据迁移形式 •0 码力 | 17 页 | 4.02 MB | 1 年前3
2.7 Golang与高性能DSP竞价系统⼲⼴广州舜⻜飞信息科技有限公司 All Right ReservedAll Right Reserved • 直接配置主从同步 • 机房间⺴⽹网络差,⾮非常差(北京<->⾹香港,北京<->北美) • 会触发Redis全量同步(超过repl-backlog-size时) Redis跨机房同步 需要替代⽅方案 专业DSP解决⽅方案 © ⼲⼴广州舜⻜飞信息科技有限公司 All Right ReservedAll ReservedAll Right Reserved • 取消Redis的主从同步 • 写主Redis时,同时写⼀一份到NSQ,异步写⼊入其他机房 • 使⽤用SoftLayer的⾹香港云主机作为中转(why?) Redis跨机房同步 专业DSP解决⽅方案 © ⼲⼴广州舜⻜飞信息科技有限公司 All Right ReservedAll Right Reserved • 内存占⽤用过⼤大时,可以切分为多个实例,减少单个实例 All Right ReservedAll Right Reserved • 性能不⽐比Redis差 • SSD优化 • 完备的分布式集群 • ⼆二级索引 • 开源,企业版⽀支持跨机房的集群 • 99%的请求1ms响应 • ⽀支持的数据结构类型偏简单 CookieMapping: Aerospike 专业DSP解决⽅方案 © ⼲⼴广州舜⻜飞信息科技有限公司 All0 码力 | 51 页 | 5.09 MB | 1 年前3
微服务架构实践-唯品会����� ������ ������ ������ ���� 11 N 如何定义服务 N 如何发布和订阅服务 N 如何治理服务 N 如何监控服务 N 如何定h故障 N ...... ��������� 12 ����� Registry! Client! Service! Monitor! • ��������������� �������������� Service��� • Registry����������� ��������������� 16 ���� N 灰度发布 N A/B测试 N 流量控制 N 机房选择 N ...... # app1�������������20880����� # app2�������������20881����� --- scope: application ü 失败调用查询O4LLQ5LLP ü 调用链详情展示 监控告警 76 �����Mercury���� 应用开发人员 I5运维Q监控W心人员 应用管理人员 • 快速故障告警和问题定h • 把握应用性能和容量评g • 提l可追溯的性能数据 • 定h线S服务性能瓶颈 • 持续e化b码和43. • 帮助快速解x线S问题 • t方h把握应用整i拓扑结构0 码力 | 120 页 | 82.16 MB | 1 年前3
FISCO BCOS 1.3 中文文档有 节点对这批数据具有一致的确认结果,这种算法就是区块链的共识算法。 拜占庭容错: 拜占庭容错来源于拜占庭将军问题,在一个对等网络系统中节点可能会以任意 形式运行,或者联合起来估计作恶。只要这种故障节点数量在一定范围内,该 系统仍然能正常运行,那么就称该系统具有拜占庭容错。 2. 传统共识算法介绍 2.1传统技术方案 现有区块链的共识算法主要包括工作量证明(POW)、权益证明(POS)、委 治理等模块。区块链系统的运行逻辑具有分布式一致性,不同节点的软硬件配 置也基本一致,先天的具备标准化特性,开发者可参照运维手册,自主诊断, 快速获取解决方案,使用相应的工具、运维策略和运维流程等对区块链系统进 行构建、部署、配置以及故障处理,从而提升反应速度、降低运维成本,最终 提升运营效率。 附: 运维手册:(待补充) 以上各层面的易用性,便于各领域的合作伙伴以较低成本快速搭建上层区块链 应用,并且持续地高效治理和运营,在推进区块链技术的普及的同时也协助合 目前有多家合作行相继接入微粒贷机构间对账平台,通过区块链与分布式账本 技术,优化微粒贷业务中的机构间对账流程,实现了准实时对账、提高运营效 率、降低运营成本等目标。截止目前,平台稳定运行1年多,保持0故障,记录 的真实交易笔数已达千万量级。 批量文件对账 微粒贷是微众银行面向微信用户和手机QQ用户推出的首款互联网小额信贷产 品,为超过千万的用户提供便捷、高效的贷款服务。微粒贷与其他银行存在较 为0 码力 | 491 页 | 5.72 MB | 1 年前3
2022年美团技术年货 合辑图查询应用:以图数据库为主的图谱可视化工具,提供图数据的编辑、子图探 索、顶点 / 边信息查询等交互操作。 ● 图分析应用:对业务场景中的关系类数据进行可视化展示,帮助业务同学快速 了解链路故障、组件依赖等问题。 ● 技术品牌建设:通过知识图谱向大家普及人工智能技术是什么,以及它能做什 么,让 AI 也具备可解释性。 2.2 技术选型与架构设计 在图关系可视化上,国内外有很多图 资源、图片、视频、音频等托 管至 CDN 服务,以享受其边缘节点缓存对静态资源的加速。但是在享用 CDN 服务 带来更好体验的同时,也经常会被 CDN 故障所影响。比如因 CDN 边缘节点异常, CDN 域名封禁等导致页面白屏、排版错乱、图片加载失败。 每一次的 CDN 故障,业务方往往束手无策,只能寄希望于 CDN 团队。而 CDN 的 监控与问题排查,对 SRE 也是巨大的难题和挑战。一方面,由于 CDN 定的效果,但始终有几个问题无法很好解决: 590 > 2022年美团技术年货 ● 时效性:当 CDN 出现问题时,SRE 会手动进行 CDN 切换,因为需要人为操 作,响应时长就很难保证。另外,切换后故障恢复时间也无法准确保障。 ● 有效性:切换至备份 CDN 后,备份 CDN 的可用性无法验证,另外因为 Local DNS 缓存,无法解决域名劫持和跨网访问等问题。 ● 精准性:CDN0 码力 | 1356 页 | 45.90 MB | 1 年前3
杨钦民-唯品会微服务架构演进之路v0.2慢调用查询 ü 失败调用查询Q4NNT5NN) ü 调用链详情展示 监控告警 全链路监控/eIcLIO核心jv 应用开发c员 I5运维T监控中心c员 应用管理c员 • 快速故障告警和问题定o • 把握应用性能和容量评n • 提r可追溯的性能数据 • 定o线U服务性能瓶颈 • 持续l化g码和43L • 帮助快速解决线U问题 • 全方o把握应用整p拓扑结构 4.��� 定制版的HaIboIQ开源镜xf库) (ocCeI 镜xf库接口 HaIboI UI V14QVI2 1bBecK 4KoIage) 海量S高可用的镜x存储 多机房分发 0oah容器云KLbeIFeKes容器编排 ���� • ���CPU��� • �� ”��” ��������� ����� • �� / Health0 码力 | 43 页 | 3.89 MB | 1 年前3
共 148 条
- 1
- 2
- 3
- 4
- 5
- 6
- 15













