不停机从 PostgreSQL 迁移到 MySQL

原文地址

Yelp Reservations 服务 (yelp_res) 是为 Yelp 上的预订提供支持的服务。它与 Seatme 一起于 2013 年被收购,是一个 Django 服务和网络应用程序。它为 Yelp Guest Manager(Yelp 客户管理)的预订后台和逻辑提供动力,并处理创建预订的用餐者和合作伙伴流程。此外,它还为我们的 Yelp Reservations 应用程序提供用户界面和后台 API,该应用程序已被 Yelp Guest Manager 取代,但我们的许多餐厅客户仍在使用。

该服务采用以数据库为中心的架构,并使用「数据库同步」范例(一种客户维护本地数据库的方法,其中包含与其相关的数据副本)与旧有客户同步数据。它还依靠数据库触发器来执行某些业务逻辑。这里所使用的数据库是 PostgreSQL,在 Yelp 的其他任何地方都没有使用过,这意味着只有一小部分长期工作的员工对 PostgreSQL 非常熟悉,足以胜任故障响应工作。这就造成了维护、可见性和故障响应时间方面的问题。负责餐厅产品的团队不是基础架构团队,而整个 Yelp 的基础架构团队(可以理解)专注于 Yelp 标准的基础架构。因此,当我们发现 PostgreSQL 出现问题时,往往需要匆忙寻找具有相关知识的人。

因此,我们用 Yelp 标准的 MySQL 数据库就地替换了这个数据库。

由于餐厅依赖我们的产品开展业务,因此系统不能离线维护,而且任何数据丢失都是不可接受的 —— 不能让用户在预订后发现该预定消失了。这就导致了这个项目的复杂

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值