英方软件 | 从一张国庆高铁票到数据库读写分离,科技正在温暖着我们

时间:2020-09-29 栏目:技术前沿

明明刚才还有 1 张高铁票,为什么点购买时显示票已卖光了呢?

你是不是也遇到过这种困惑。确实,每到像国庆这样的购票高峰期,我们总是被 “12306” 订票查询系统按在地上摩擦,最后折腾得没有脾气。

到底是怎么回事,在我们看不见的高铁订票系统的“黑盒子”里,藏着什么样的密码呢?

时间回到 2013 年之前,那时的网上订票系统,一遇到节假日订票高峰期,那就不是还剩多少张票的事了,完全是望眼欲穿,它就在那,但是你连登陆的机会都没有——系统直接挂了。

言归正传,技术工程师说,造成订票系统宕机的原因,主要是网络购票用户分布集中,系统对短时高并发需求应付不来,以及没有对生产数据库进行订票交易系统与查询系统的分离。

改变从云计算开始。以上图为例,我们通过一个虚拟的拓扑图可以看到:在两地三中心经典的场景中,两个本地数据中心通过虚拟化改造,搭建私有云平台,且两边采用双活模式。在云数据中心,利用公有云平台弹性的计算资源和强大的网络分发能力,将不带用户敏感信息的数据库系统部署上线,仅供互联网用户做余票查询,当用户决定购买时,系统转向本地数据中心的交易系统。

在这种模式下,可以很好地解释前文的疑虑:由于公有云数据中心分布广泛,如果用户在离交易中心较远的地方,因为网络时延的原因,造成信息同步存在滞后,所以我们打开 App 看到的余票信息,可能是 2 分钟前的信息。2 分钟,票早就被人抢走了。

从数据库功能看,我们称之为数据库读写分离,即将原先集中在一个数据库里的票务交易和查询的功能,通过部署两个数据库,一个负责票务交易(主),一个负责票务查询(备),实现数据库系统高并发性能的压力分摊。

实现在主备数据库进行数据实时同步复制,我们通常称之为数据库同步或迁移工具。英方软件 i2Active 就是这样可以在数据库之间进行数据迁移、分发、构建数据仓库等数据整合工作及数据库容灾的工具。

通过场景看数据库迁移工具的功能。我们以常见的视频及音乐平台为例,在平台根据用户是会员非会员的属性创建表时,管理员可以根据某个业务部门的需求,只选择将非会员的数据库表分发给相关的指定部门,数据库会员表则选择不同步。

这相比传统的数据库迁移工具将全库(会员表和非会员表)都同步过去,更具灵活性、安全性、经济性。

此外,数据库容灾也相当重要。通常情况下,数据库系统通过在本地构建集群(像飞机通过多个发动机确保飞行安全),可以保障数据库持续为终端用户提供服务。但是,因为有异地容灾的监管要求,所以很多行业用户特别是金融机构,会在异地超过 300 公里的城市搭建灾备中心(通常通过 IDC 租赁方式减少投入),并部署备份数据库系统,通过 i2Active 将重要的数据实时同步到过来,并可做到一对一或多对一的映射关系。

i2Active 在备端采用逻辑方式将数据实时同步到目标数据库,相比于在备端将数据以数据库日志文件的形式存储在磁盘,其恢复速度更快,针对机房断电、火灾、光纤被挖等物理故障,可以在备端快速将数据库系统启动接管应用,以确保用户端的操作不会受影响,实现数据库双活。

此外,i2Active 还可以实现 Unix + AIX 小型机到 Linux + X86 服务器的数据同步,通过图形化监控操作界面,让没有深厚的数据库知识积累的运维人员,也能轻松掌控全局。

回到数据库读写分离场景,不止订票系统,很多日常的场景都有它的身影。譬如交警系统的数据库总库和各地分库的业务模式,不仅实现业务数据的多重保护,还降低了老百姓办理业务的时间成本。

因为有了智能的订票系统,年轻人可以来一场说走就走的旅行,我们也可以常回家看看父母。科技就是这样温暖着我们的生活,让人们活得更加美好。但科技也不是万能的,需要广大用户包括消费者共同努力,大家不断形成合力,让各类信息化应用更加智能、安全、便捷地服务大众。

及时响应,快速服务,为您保驾续航

立即注册

请先完成图形验证

验  证  码:

请先完成图形验证

验  证  码:

隐私声明
当您在本网站进行合作伙伴注册登记,本网站将收集您的相关信息,并保存记录。本网站收集的个人信息包括但不限于:姓名、地址、公司、所在地区、电话号码以及电子邮件地址等。您主动提供的信息越多及越准确,我们就能够更好地为您提供有关服务。
咨询·购买