微服务环境下的系统治理与容错## 微服务环境下的系统治理与容错 王新栋  ## 收获国内外一线大厂实践 与技术大咖同行成长 ✓ 演讲视频 ✓ 干货整理 ✓ 大咖采访 ✓ 行业趋势 关注 QCon 公众号  ## TABLE OF CONTENTS 大 纲 - 微服务架构 • 治理 • 容错 • 总结  ## 微服务架构 ## Ops的原则和实践,在组织结构上实现跨职能的自治团队,这必不可少。 还必须记住:实现微服务架构并不是你的目标。你的目标是加速大型复杂应用程序的开发。 --Chris Richardson ## 容错 ## 故障和问题 ☐ 故障: ITIL对故障的定义:不符合服务的运营标准且引发了或者可能引发服务中断或服务质量下降的事件。 1. 可能是造成了停机的事件 任何降低了服务质量的事件 2. 也可能是造成对最终用户响应慢的事件0 码力 | 45 页 | 16.09 MB | 2 年前3
Doris的数据导入机制以及原子性保证等待回收任务删除已写入数据  ## 总结 多版本机制解决读写冲突 • 写入带版本 · 查询带版本 两阶段导入保证多表原子生效 - 支持并行导入 - 有冲突时按导入顺序生效,无冲突导入时并行生效 事务能力保证  决定对象是否是垃圾对象,并进行 回收。 学 垃圾回收机制的特点 * 垃圾内存并不是用完了马上就被释放,所以会产生内存释放 不及时的现象,从而降低内存的使用效率。 有归程 序庞大的 时候,这种现象更为明显。0 码力 | 44 页 | 818.30 KB | 2 年前3
2.4 基于Go-Ethereum构建DPOS机制下的区块链基于Go-Ethereum构建DPOS机制下的区块链 恺英网络一朱崇文 ’ alt=‘OCR图片’/> 目录 1 Go版本以太坊 2 为何选择DPOS机制 3 拓展共识改造实战 4 智能合约的实践 5 压力测试下暴露的问题 GopherChina2018 ’ alt=‘OCR图片’/> Go版本以太坊 ’ alt=‘OCR图片’/> Go版本以太坊 以太坊的工具组 ’ alt=‘OCR图片’/> GopherChina2018 ’ alt=‘OCR图片’/> 为何选择DPOS机制 共识机制对比 POW • 消耗计算力 • 出块速度慢,确认慢 • TPS极低 10~20 • 确认1分钟+ DPOS • 代理人模式 • 出块速度快,确认快 • TPS 700~1000 (实现) • 平均确认1~3秒 ’ alt=‘OCR图片’/> 为何选择DPOS机制 DPOS机制的优势 系统可靠性 在商业场景下,网络性能可控 the local miner’s GopherChina2018 ’ alt=‘OCR图片’/> 拓展共识改造实战 借鉴Clique(POA)的实现 Clique Go-Ethereum实现的机制,用以公共测试链 整个网络由Signer节点出块 Signer节点可以投票选择其他Signer节点 节点之间可以相互竞争出块 存活节点数 > (n/2) +1 Signer 节点的选举记录在Extra0 码力 | 34 页 | 2.01 MB | 1 月前3
C++ in the Cloud0 码力 | 14 页 | 609.86 KB | 1 年前3
Go 构建大型开源分布式数据库技术内幕0 码力 | 44 页 | 649.68 KB | 2 年前3
curvefs client删除文件和目录功能设计chubaofs 方案设计思考 1. Trash机制是实现1个(类似chubaofs),还是2个(类似moosefs)? 2. Trash 放在哪里? 3. 是否需要做 session 机制(在 metaserver 打开),来维护 inode 的打开情况? • 方案设计 • Trash机制: • Session机制: • 遗留问题 • 工作量评估 ## 背景 未对接forget 2. moosefs 实现了在 mds 上 open,因此删除时可以判断文件是否被打开 3. moosefs使用了两种机制,来实现上述功能,分别是trash机制和reserve机制(最新版本叫sustained),两种机制如下: ## trash机制: 对于所有TYPE_FILE类型的文件在删除时,若其transhtime大于0,则不会立即将该文件彻底删除,而是将其类型修改为 入回收站。 通过META文件系统来访问trash 通过trash机制,可实现文件的恢复UNDEL 回收站实现了一个timer,定期判断trashtime,执行定期清理回收站 清理时,当文件仍处于打开状态,则还需要进入下sustained/reserve中。 ## sustained机制/reserve机制 当一个trashtime等于0的TYPE FILE类型的文件被一0 码力 | 15 页 | 325.42 KB | 1 年前3
Service Mesh的思考及在华为云的实践注册发现 客户端发现 根据请求特征引流 可定制负载均衡策略 服务发现 客户端负载均衡 可定制负载均衡算法 跨语言通信 RPC Http 多语言 重试与backoff退让算法 容错 每种语言的微服务SDK 隔离 微服务架构需要解决的问题 分布式调用链追踪 错误率 metric数据上报 时间窗 熔断 监控 可定制Metric数据 手动隔离 日志收集 Chain Transfer Forward Grpc Request Provider Service Consumer service 6/30/2018 ## 注册发现 统一的缓存保存机制 • Registrator与ServiceDiscovery插件,对接多种不同的注册发现服务 - 解耦的注册器和服务发现模块,可灵活选择使用客户端发现还是服务端发现 Service center 服务调用层级不要超过3层 若调用层级超过2层,业务代码想要用上调用链追踪需要将TraceID转发 - 想要根据某些业务数据进行路由的话,将数据放在请求的header当中 业务开发期不要上云后就打开容错功能,容错会掩盖业务问题 ## Take Away • 一个商用级SERVICE MESH服务的设计之道 • Service Mesh在华为云的实践 华为云CSE无“微”不至助力文思海辉玩转微服务 ##0 码力 | 29 页 | 1.55 MB | 2 年前3
Spark 简介以及与 Hadoop 的对比数据库或Cache类系统中也有实现,Spark的主要区别在于它处理分布式运算环境下的数据容错性(节点实效/数据丢失)问题时采用的方案。为了保证RDD中数据的鲁棒性,RDD数据集通过所谓的血统关系(Lineage)记住了它是如何从其它RDD中演变过来的。相比其它系统的细颗粒度的内存数据更新级别的备份或者LOG机制,RDD的Lineage记录的是粗颗粒度的特定数据转换(Transformation)操作(filter,map,join 场合,但同时相比细颗粒度的数据模型,也带来了性能的提升。 RDD 在 Lineage 依赖方面分为两种 Narrow Dependencies 与 Wide Dependencies 用来解决数据容错的高效性。Narrow Dependencies 是指父 RDD 的每一个分区最多被一个子 RDD 的分区所用,表现为一个父 RDD 的分区对应于一个子 RDD 的分区或多个父 RDD 的分区对应于一个子 方法对与输入节点完好,而输出节点宕机时,通过重新计算,这种情况下,这种方法容错是有效的,否则无效,因为无法重试,需要向上其祖先追溯看是否可以重试(这就是 lineage,血统的意思),Narrow Dependencies 对于数据的重算开销要远小于 Wide Dependencies 的数据重算开销。 #### 1.2.4 容错 在 RDD 计算 ,通过 checkpoint 进行容错 ,做 checkpoint 有两种方式0 码力 | 3 页 | 172.14 KB | 2 年前3
Fault-tolerance demo & reconfiguration - CS 591 K1: Data Stream Processing and Analytics Spring 20200 码力 | 41 页 | 4.09 MB | 2 年前3
共 862 条
- 1
- 2
- 3
- 4
- 5
- 6
- 87













