NtflixCDE(云数据库工程)团队最近对这一最重要的数据库子系统进行了迁移。本次项目的目标在于将所有这一切都搬入云中,不在数据中心内运行任何计费应用程序或数据库,但所有操作不能影响业务的正常运转。我们的前路十分艰巨!
前言
毫无疑问,在不中断业务的情况下迁移高度敏感的应用程序和重要数据库是一项意义深远的工作,与此同时我们还将继续构建新的业务功能和服务。
计费系统的一些重要用途和面临的挑战包括:
计费团队负责管理整个公司的重要财务数据。我们每天会通过用户的付费订阅、礼品卡、信用额度、退款等行为生成大量数据,这些数据将汇总至财务部门并创建成报表交给公司会计。为确保每天的收入情况可以准确记录,我们在日常处理流程中实施了严格的SLA。处理管线的任何延迟都是无法接受的。
计费系统对数据丢失持零容忍态度。
大部分情况下,现有数据使用了一种关系型模式的结构,因此需要通过事务确保这类数据实现“全有或全无(all-or-nothing)”的行为。换句话说,我们的运维必须符合ACID(原子性、一致性、隔离性、持久性)要求。但某些情况下还必须让这些数据实现跨区域高可用,同时确保不同区域间复制的延迟最小化。
计费系统与公司的DVD业务相集成,而DVD业务与在线流播业务使用了截然不同的体系结构,这也大幅增加了集成工作的复杂度。
支付团队还希望向Ntflix客户服务代理提供数据支持,帮助他们回答会员提出的有关计费操作的问题。因此迫切需要向客户支持人员提供此类数据的概括性视图。
当我们着手进行该项目时,计费系统是这样的:
数据中心内部署2个Oracl数据库–一个存储客户订阅信息,另一个存储发票/支付数据。
多个基于REST的应用程序–为北京哪个医院专业治疗白癜风白癜风的治疗方法有哪些呢