声明式自愈系统——高可用分布式系统的设计之道-王昕## 声明式自愈系统——高可用分布式系统的设计之道 王昕 高级技术专家 全球技术领导力峰会 # 500+高端科技领导者与你一起探讨 技术、管理与商业那些事儿 2019年6月14–15日 上海圣诺亚皇冠假日酒店   Hive ## WHAT 我们需要什么样的存储? Append only:尾部写入,不变顺序读取 分布式 高性能 可靠性 顺序一致性 (近乎)无限容量 ## Q → J ## JournalQ ## JournalKeeper XXX Pub/Sub   ## 消息系统规模架构:重业务逻辑 ## 消息系统简要架构 ## 接入层  Reset(tcpConnection) ## 目录 go语言在基础服务开发领域的优势? 我遭遇了哪些挑战? 如何应对的? 具有go特色的运维 ## go语言运维管理方面的独特魅力 go语言原生提供的各组工具,构建分布式系统配套设施方面,提供了便利 $$ 配套设施 = 测试 + 调优 + 监控 + 运维 $$ 便利 = 原生 profiling 工具 + 开协程模拟测试终端 + 协程协作模拟业务 具有a0语言特色的运维0 码力 | 39 页 | 5.23 MB | 2 年前3
Curve元数据节点高可用Curve元数据节点高可用 • 1. 需求 • 2. 技术选型 • 3. etcd clientv3的concurrency介绍 • 3.1 etcd clientV3的concurrency模块构成 • 3.2 Campaign的流程 • 3.2.1 代码流程说明 • 3.2.2 举例说明Campagin流程 • 3.3 Observe的流程 4. MDS使用election模块的功能进行选主 无法写入。 因此,mds需要做高可用。满足多个mds,但同时只有一个mds节点提供服务,称该提供服务的mds节点为主,等待节点为备;主节点的服务挂掉之后,备节点能启动服务,尽量减小服务中断的时间。需要解决的问题就是:如何确定主备节点。 ### 2. 技术选型 提供配置共享和服务发现的系统比较多,其中最为大家熟知的就是zookeeper和etcd,考虑当前系统中mds有两个外部依赖模块,一是m 拓扑的相关信息;二是etcd,用于存储文件的元数据信息。而etcd可以用于实现mds高可用,没必要引入其他组件。 使用etcd实现元数据节点的leader主要依赖于它的两个核心机制:TTL和CAS。TTL(time to live)指的是给一个key设置一个有效期,到期后key会被自动删掉。这在很多分布式锁的实现上都会用到,可以保证锁的实时性和有效性。CAS(Atomic Compare-0 码力 | 30 页 | 2.42 MB | 1 年前3
使用微服务架构快速开发万级TPS高可用电商系统## 使用微服务架构快速开发万级TPS高可用电商系统 git clone https://github.com/alec-z/servicecomb-samples cd servicecomb-samples/houserush/script/docker docker-compose up ## 什么是微服务架构? 一个既“简单”的又“强大”的后端架构模式。 ## 简单: 每个服务相对较小并比较容易开发维护。 • 更适合小团队(个人)开发管理 • 更容易实验和采纳新的技术。 适合同学们学习 Demo也可以作为生产系统的一部分 ## 强大: 使大型的复杂应用程序可以持续的交付和持续的部署。 • 更容易测试 更容易对已有大型系统进行修改和扩展 • 容易进行的性能优化 • 更高的可用性 • 更容易的进行性能伸缩性 ## Demo简介 从一个简单的电商Demo开始。 背景:开发商开盘时, 每个微服务有自己的数据库(层) 服务架构应用的质量很大程度取决于服务的拆分的高内聚,低耦合,不了解服务间通信,无法做出高质量的拆分。 不同的业务,涉及的不同服务间通信有不同的要求 1. 关注事务性要求(ACID) 2. 关注对性能的要求 举例:客户维护和订单是2个微服务,订单系统对性能有较高要求,所以可以考虑把购房资格信息从客户维护微服务同步到订单系统,改同步动作对性能没有要求,对事务性有要求。 常见的服务0 码力 | 15 页 | 1.46 MB | 2 年前3
超大规模高可用性云端系统构建之禅-蔡超## 简明高效的 Go 语言实战指南 视频课程 ## 你将获得 快速掌握 Go 语言基础语法和特性 学习性能调优方法并编写高性能代码 轻松搞定编程中的常见并发任务 设计并实现可扩展架构和高可用系统 ## 蔡超 Mobvista 技术副总裁 前亚马逊(中国)首席软件架构师 原价¥129 拼团价 ¥99 限时24⼩时  ## 支持高可用性的各个层 并不仅仅是可靠地存储数据 冗余应用服务器 数据的冗余访问路径  数据路由 数据冗余存储 ## 支持高可用性的各个层 并不仅仅是可靠地存储数据 冗余应用服务器 SQL 线程:读取从数据库的中继日志中的复制事件,然后将其应用到从数据库 ## 为何进行复制? - 将数据库从 “主服务器” 复制到 “从服务器” – 数据的冗余副本奠定了高可用性的基础 – 通过在复制场中进行分布式查询来扩展  ##0 码力 | 40 页 | 2.19 MB | 2 年前3
分布式任务系统cronsun## 分布式任务系统 cronsun 苏创绩 ## 目录 01 任务系统 02 分布式任务系统 03 cron sun 04 心得体会   ## 01 Part One 任务系统 ## 任务 1. 什么时间 2. 什么地点 3. 做什么事 ## 一 个简单的任务  星期数,范围:0-7(0和7都是星期天) e42541490db6c0e/p6_1.jpg) crontab cmd1 cmd2 cmd3 ## 早期的 cron V7, 1979 1. 在Version 7 Unix里是一个系统服务 2. 只用 root 运行任务 3. 算法简单直接 ## 早期的 cron 运行逻辑 1. 读 /usr/lib/crontab 文件 2. 如果有命令要在当前时间执行,就用 root0 码力 | 48 页 | 1.52 MB | 2 年前3
共 1000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 100













