TiKV 源码解析系列文章(八)grpc-rs 的封装与实现

2019-06-13
阅读 7 分钟
1.4k
上一篇《gRPC Server 的初始化和启动流程》为大家介绍了 gRPC Server 的初始化和启动流程,本篇将带大家深入到 grpc-rs 这个库里,查看 RPC 请求是如何被封装和派发的,以及它是怎么和 Rust Future 进行结合的。

赋能社区,PingCAP University 培训课程 2.0 重磅升级

2019-06-11
阅读 2 分钟
1.6k
作为世界级的开源项目,经过四年的发展,TiDB 在越来越多的场景里落地,正逐渐被视为行业内的分布式数据库“事实标准”。随着用户社区技术服务体系的建立和优化,TiDB 社区力量日益壮大,在 GitHub 上已累计获得 Star 数近 2w,目前已有 300+  用户将 TiDB 用于线上生产环境,超过 1400 家进行测试 ,在互联网、银行、证券...

DM 源码阅读系列文章(七)定制化数据同步功能的实现

2019-06-06
阅读 5 分钟
1.4k
本文为 DM 源码阅读系列文章的第七篇,在 上篇文章 中我们介绍了 relay log 的实现,主要包括 relay log 目录结构定义、relay log 数据的处理流程、主从切换支持、relay log 的读取等逻辑。本篇文章我们将会对 DM 的定制化数据同步功能进行详细的讲解。

RustCon Asia 实录 | Rust 在国内某视频网站的应用

2019-06-04
阅读 12 分钟
3k
作者介绍:hawkingrei(王维真),中间件高级开发工程师,开源爱好者,TiDB & TiKV Contributor。WaySLOG(雪松),Rust 铁粉一枚,专注中间件,bug creator。

DM 源码阅读系列文章(六)relay log 的实现

2019-06-03
阅读 7 分钟
2.1k
本文为 DM 源码阅读系列文章的第六篇,在 上篇文章 中我们介绍了 binlog replication 处理单元的实现,对在增量复制过程中 binlog event 的读取、过滤、路由、转换以及执行等逻辑进行了分析。

势高,则围广:TiDB 的架构演进哲学

2019-05-31
阅读 14 分钟
2.2k
大家可能知道我是 PingCAP CEO,但是不知道的是,我也是 PingCAP 的产品经理,应该也是最大的产品经理,是对于产品重大特性具有一票否决权的人。中国有一类产品经理是这样的,别人有的功能我们统统都要有,别人没有的功能,我们也统统都要有,所以大家看到传统的国内好多产品就是一个超级巨无霸,功能巨多、巨难用。所以...

TiDB 在平安核心系统的引入及应用

2019-05-29
阅读 6 分钟
3.6k
2019 年 5 月 9 日,平安科技数据库产品资深工程师何志勇在第十届数据库技术大会 DTCC 上分享了《TiDB 在平安核心系统的引入及应用》,通过对 TiDB 进行 POC 测试,详细解析如何选择适用于金融行业级别的开源分布式数据库,以及平安“财神节”活动中引入 TiDB 的全流程应用实践案例分享。本文根据演讲内容整理。

诊断修复 TiDB Operator 在 K8s 测试中遇到的 Linux 内核问题

2019-05-27
阅读 6 分钟
2.5k
Kubernetes(K8s)是一个开源容器编排系统,可自动执行应用程序部署、扩展和管理。它是云原生世界的操作系统。 K8s 或操作系统中的任何缺陷都可能使用户进程存在风险。作为 PingCAP EE(效率工程)团队,我们在 K8s 中测试 TiDB Operator(一个创建和管理 TiDB 集群的工具)时,发现了两个 Linux 内核错误。这些错误已经...

TiKV 成功晋级 CNCF 孵化项目

2019-05-22
阅读 2 分钟
2.1k
今天,CNCF(Cloud Native Computing Foundation,云原生计算基金会)技术监督委员会(TOC)宣布已经投票决议通过,正式将 TiKV 从沙箱项目晋级至孵化项目。

Tedis:基于 TiKV 构建的 NoSQL 数据库

2019-05-22
阅读 4 分钟
3.2k
作者介绍:陈东明,饿了么北京技术中心架构组负责人,负责饿了么的产品线架构设计以及饿了么基础架构研发工作。曾任百度架构师,负责百度即时通讯产品的架构设计。具有丰富的大规模系统构 建和基础架构的研发经验,善于复杂业务需求下的大并发、分布式系统设计和持续优化。个人微信公众号 dongming_cdm。

TiKV 源码解析系列文章(七)gRPC Server 的初始化和启动流程

2019-05-16
阅读 4 分钟
1.5k
本篇 TiKV 源码解析将为大家介绍 TiKV 的另一周边组件—— grpc-rs。grpc-rs 是 PingCAP 实现的一个 gRPC 的 Rust 绑定,其 Server/Client 端的代码框架都基于 Future,事件驱动的 EventLoop 被隐藏在了库的内部,所以非常易于使用。本文将以一个简单的 gRPC 服务作为例子,展示 grpc-rs 会生成的服务端代码框架和需要服务...

银行交易系统 TiDB 在线缩容迁移

2019-05-16
阅读 2 分钟
2.4k
经历了上礼拜漫长的上线周期,终于有时间总结一下期间发生的故事。TiDB 是一款非常优秀的国产分布式 NewSQL 数据库,因其支持水平扩展性、强一致性、高可用性,从 18 年 3 月起已在国内银行的账务、支付类核心系统得到应用。

RustCon Asia 实录 | Distributed Actor System in Rust

2019-05-14
阅读 9 分钟
2.5k
大家好,我今天分享的是我们团队在做的 Distributed Actor System。首先我想说一下这个 Talk 「不是」关于哪些内容的,因为很多人看到这个标题的时候可能会有一些误解。

What’s New in TiDB 3.0.0-rc.1

2019-05-13
阅读 2 分钟
1.3k
2019 年 5 月 10 日,TiDB 3.0.0-rc.1 版本正式推出,该版本对系统稳定性,性能,安全性,易用性等做了较多的改进,接下来逐一介绍。

TiDB 3.0.0-rc.1 Release Notes

2019-05-13
阅读 4 分钟
1.4k
2019 年 5 月 10 日,TiDB 发布 3.0.0-rc.1 版,对应的 TiDB-Ansible 版本为 3.0.0-rc.1。相比 3.0.0-beta.1 版本,该版本对系统稳定性、易用性、功能、优化器、统计信息以及执行引擎做了很多改进。

DM 源码阅读系列文章(五)Binlog replication 实现

2019-05-08
阅读 4 分钟
1.7k
本文为 DM 源码阅读系列文章的第五篇。上篇文章 介绍了 dump 和 load 两个数据同步处理单元的设计实现,对核心 interface 实现、数据导入并发模型、数据导入暂停或中断的恢复进行了分析。本篇文章将详细地介绍 DM 核心处理单元 Binlog replication,内容包含 binlog 读取、过滤、路由、转换,以及执行等逻辑。文内涉及到...

TiDB Binlog 组件正式开源,前排开“坑”走起!

2019-05-06
阅读 1 分钟
1.6k
TiDB Binlog 组件用于收集 TiDB 的 binlog,并准实时同步给下游,如:TiDB/MySQL等。该组件在功能上类似于 MySQL 的主从复制,会收集各个 TiDB 实例产生的 binlog,并按事务提交的时间排序,全局有序的将数据同步至下游。利用 TiDB Binlog 可以实现数据准实时同步到其他数据库,以及 TiDB 数据准实时的备份与恢复。TiDB ...

Golang Failpoint 的设计与实现

2019-05-05
阅读 12 分钟
5.8k
对于一个大型复杂的系统来说,通常包含多个模块或多个组件构成,模拟各个子系统的故障是测试中必不可少的环节,并且这些故障模拟必须做到无侵入地集成到自动化测试系统中,通过在自动化测试中自动激活这些故障点来模拟故障,并观测最终结果是否符合预期结果来判断系统的正确性和稳定性。如果在一个分布式系统中需要专门...

DM 源码阅读系列文章(四)dump/load 全量同步的实现

2019-04-28
阅读 5 分钟
2.2k
本文为 DM 源码阅读系列文章的第四篇,上篇文章 介绍了数据同步处理单元实现的功能,数据同步流程的运行逻辑以及数据同步处理单元的 interface 设计。本篇文章在此基础上展开,详细介绍 dump 和 load 两个数据同步处理单元的设计实现,重点关注数据同步处理单元 interface 的实现,数据导入并发模型的设计,以及导入任务...

首届 RustCon Asia 圆满落幕,Let's Rust the World!

2019-04-26
阅读 2 分钟
1.9k
4 月 23 日,为期 4 天的 RustCon Asia 在北京圆满落幕,300 余位来自中国、美国、加拿大、德国、俄罗斯、印度、澳大利亚等国家和地区的 Rust 爱好者参加了本次大会。作为 Rust 亚洲社区首次「大型网友面基 Party」,本届大会召集了 20 余位海内外顶尖 Rust 开发者讲师,为大家带来一天半节奏紧凑的分享和两天 Workshop ...

TiKV 源码解析(六)raft-rs 日志复制过程分析

2019-04-25
阅读 6 分钟
2.2k
RawNode::ready_since 从 Raft 节点中获取最近的更新,包括新近追加的日志、新近确认的日志,以及需要给其他节点发送的消息等;

贝壳金服 TiDB 在线跨机房迁移实践

2019-04-23
阅读 5 分钟
2k
贝壳金服聚焦于居住场景,在租赁、买卖、家装、安居等场景中为用户提供定制化的居住金融服务。贝壳金服以独家大数据与场景风控能力见长,致力于解决居住金融需求,以Fintech驱动产业升级,让每个家庭都能享受高品质的居住生活。

PingCAP University 免费开放线上课程,快来点亮「TiDB DBA」技能点吧!

2019-04-22
阅读 2 分钟
2.3k
去年年底 我们启动了 PingCAP University 培训认证计划,获得了社区伙伴们的广泛响应。PingCAP University 已经开展五期线下培训,百余名学员在 PingCAP 北京&上海 Office 参加了为期 4 天的 PCTP 线下培训,大家表示干货密度相·当·高。

终极讲师介绍:集齐 27 位讲师召唤亚洲首届 Rust 开发者大会!

2019-04-19
阅读 6 分钟
3.2k
RustCon Asia 进入倒计时!就在这个周六,将有 300+ 位开发者齐聚北京,参加亚洲最大的 Rust 语言开发者大会 RustCon Asia。此次大会几乎将聚集全部 Rust 中国社区的资深开发者和已在生产环境应用的中国本土的 Rust 项目,以及来自亚洲之外的欧洲、澳洲、北美的顶尖开发者们。大家都约好面基了吗?

TiDB 在银行核心金融领域的研究与两地三中心实践

2019-04-18
阅读 6 分钟
1.9k
作者介绍:于振华,北京银行软件开发部资深架构师,长期从事银行核心系统研发、规划,参与过多个核心信息系统建设工作,包括一、二代支付系统、第四代银行核心系统建设、分布式核心系统建设等企业级项目工作。当前主要研发方向集中在构建先进、高效、面向 OLTP 的银行交易系统,提升银行信息系统服务能力。

在 RustCon Asia 开启之前,聊聊 Rust 中国社区那些事

2019-04-15
阅读 3 分钟
3.1k
亚洲首届 RustCon Asia 将在 4 月 20 日于北京开启(也就是下周六啦~),大会为期 4 天,包括 20 日全天和 21 日上午的主题演讲以及 22-23 日的多个主题 workshop 环节。随着大会渐渐临近,很多小伙伴已经兴奋的搓搓手了,不如今天来聊聊 Rust 中国社区的成长史,再打一波鸡血?

DM 源码阅读系列文章(三)数据同步处理单元介绍

2019-04-11
阅读 3 分钟
1.4k
本文为 DM 源码阅读系列文章的第三篇,上篇文章 介绍了 DM 的整体架构,DM 组件 DM-master 和 DM-worker 的入口代码,以及两者之间的数据交互模型。本篇文章详细地介绍 DM 数据同步处理单元(DM-worker 内部用来同步数据的逻辑单元),包括数据同步处理单元实现了什么功能,数据同步流程、运行逻辑,以及数据同步处理单...

与顶尖 Rust 开发者面基指南(一) | RustCon Asia

2019-04-04
阅读 4 分钟
3.3k
距离 4 月 20 日 RustCon Asia 大会  开启只剩下约两周的时间了,你准备好了吗?此次 RustCon Asia 是首次在亚洲举办的 Rust 语言开发者大会,也是目前亚洲地区规格最高,参与人数规模最大的 Rust 语言大会。不仅有来自亚洲社区的大神,还有从欧洲、澳洲、北美远道而来的顶尖开发者。现场特地配备了中英双语同声传译,以...

一个从基础到实战的学习机会:Go & Rust、分布式数据库系统 | PingCAP Talent Plan

2019-04-04
阅读 3 分钟
3.1k
TiDB 每一次微小进步都离不开广大社区小伙伴们的支持,但也有很多同学反映 TiDB 是一个非常复杂的分布式数据库系统,如果没有相关知识和经验积累,在参与之初难免会遇到各种问题。因此我们决定全面升级 PingCAP Talent Plan 计划,为社区小伙伴开放一系列关于编程语言、数据库及分布式系统的线上课程,线上考核成绩优异...

Kubernetes 中如何保证优雅地停止 Pod

2019-04-02
阅读 5 分钟
2.1k
一直以来我对优雅地停止 Pod 这件事理解得很单纯:不就利用是 PreStop hook 做优雅退出吗?但最近发现很多场景下 PreStop Hook 并不能很好地完成需求,这篇文章就简单分析一下“优雅地停止 Pod”这回事儿。