Redis 多数据中心双向同步 祝辰## 携程技术沙龙 Redis 多数据中心双向同步 祝辰 ## 讲师介绍  ## 祝辰 • 携程框架架构部门 • 资深研发工程师 - 专注于 Redis 高可用系统的研发工作 • 对分布式存储系统有所涉猎 ## 目录 CONTENTS CONTENTS 1 开篇 2 携程的Redis架构 3 分布式理论 4 双向/多向同步的问题 5 CRDT ## 开篇 ## 19 世纪的通讯  “At 12:30 am on April 4th, 1841 President 5db673ac826312c/p12_2.jpg) 目前携程的 Redis 部署架构 通过携程的 X-Pipe 项目, 来达到 Redis 跨站点和跨区域的数据同步问题 目前已经支持上海到美国和德国的 Redis 数据同步 - 到德国法兰克福站点, 平均延迟在176ms 左右 到美西站点, 平均延迟在 160ms 左右 ## 需求的产生  export type Mutex struct { key int32; sema int32; } func (m *Mutex) key, -1) == 0 { return; } sys.semrelease(&m.sema); } ’ alt=‘OCR图片’/> 基本同步原语 Mutex 2012年,commit dd2074c8做了一次大的改动,它将waiter count(等待者的数量)和锁标识分开来(内部实现还是合用使用state字段)。新来的goroutine占优势,会有更大的机会获取锁。0 码力 | 82 页 | 16.62 MB | 1 月前3
数据迁移5/5.6/5.7/8.0) 到 TiDB 的全量数据迁移,及增量数据同步。可协助用户在不停机的情况下轻松将业务从 MySQL 切换至 TiDB。 ## 自建 TiDB 迁移到 TiDB 服务 UDTS 产品支持 TiDB 全量数据迁移至 TiDB 服务。用户在源 TiDB 开启 Pump, Drainer 可进行数据增量同步。UDTS 与源端 Pump, Drainer 一起可协助用户在不停机的情况下轻松将业务从自建 数据库。用户在 TiDB 服务上开启 Binlog 可将数据增量同步至下游 MySQL。UDTS 与 TiDB Binlog 服务一起可协助用户轻松建立 MySQL 从库。 ## 为 TiDB 服务建立 TiDB 从库 UDTS 产品支持 TiDB 全量数据迁移至 TiDB 数据库。用户在源 TiDB 服务上开启 Binlog 可将数据增量同步至下游 TiDB。UDTS 与 TiDB Binlog 服务一起可协助用户轻松建立0 码力 | 2 页 | 42.01 KB | 1 年前3
Rust 异步并发框架在移动端的应用 - 陈明煜async-std 第一个适配 Rust async/await 原语的运行时库,与 tokio 类似支持异步 IO,目前已经半废弃  ## rayon Rayon 并非异步运行时。它通过同步多线程模型提供了并行迭代器功能,适用于处理 CPU 密集型计算任务 ## Ylong Runtime 并发框架 华为 Rust 异步并发框架,近期计划在 OpenHarmony 上开源。与 Tokio 类似,同样为事件驱动型调度框架,提供异步 IO、定时器、同步原语等功能。但额外提供: 任务优先级调度 异步并行迭代器 ■ 结构化并发 ## 任务优先级调度 Task priority and quality of service use ylong_r ■ 阻塞等待所有 Scope 内的子线程任务完成 ■ 子线程执行的闭包中可以捕获 Scope 外的变量 ## AsyncScope 将 std 库中 thread scope 的思想异步化 在同步环境阻塞等待子异步任务完成,在异步环境异步等待子异步任务完成 优先级继承:子任务默认继承父任务优先级,也可使用 detached 模式指定其他优先级 任务取消:取消父任务,也将取消所有子任务0 码力 | 25 页 | 1.64 MB | 2 年前3
Kotlin 1.9.10 官方文档 中文版
Kotlin 中文站项目。 本书会与 Kotlin 中文站及 JetBrains 的 Kotlin 官方站准同步更新。 所以请时常来更新,或者阅读在线版本: https://book.kotlincn.net/。 2017-05-13,Kotlin 中文站的参考文档已翻译校对完毕且与官方站同步。 随着官网新增内容越来越多,尤其是 2021 年 版本库结构大改还导致翻译停滞了一段时间,已经有不少内容尚未翻译。 未翻译。 目前在不断完善翻译中,有些贡献者基于旧 版本翻译的内容也会逐步解决冲突合并进来。 当然,今后还会持续与官网保持同步更新并继续翻译,请随时关注。 欢 迎大家一起来翻译/改进,翻译前请阅读翻译指南草稿。 目前已更新至 1.9.10。最近一次更新:2023-10-28。 本书采用 Apache License 2.0 许可发布,因内容来源采用该许可。 下载离线版本: PDF | EPUB | MOBI 可变闭包变量 用于在 lambda 表达式中捕获可变闭包变量的装箱类不再具有 volatile 字段。 此更改提高了性能,但在一些罕见的使用 情况下可能导致新的竞争条件。如果受此影响,你需要提供自己的同步机制来访问变量。 javax.scripting 支持 Kotlin 现在与javax.script API(JSR-223)集成。 其 API 允许在运行时求值代码段: val engine =0 码力 | - 页 | 22.65 MB | 2 年前3
共 805 条
- 1
- 2
- 3
- 4
- 5
- 6
- 81













